목록Server-Side/Java (17)
패키지
**객체모델링** object 사람 class 설계도 변수 (member) 멤버-메소드(member-method) ** 객체지향! --> 객체를 재사용. 1. member 변수 2. 생성자 ( 객체 초기화 ) 3. member method package day3; public class Person { // 1. member 변수 String name ; int eye =2; int nose = 1; int mouth = 1; int age; int gender; //여:1 여자:2 제3 :3 float weight; float height; //'생성자'는 클래스의 이름과 같은값 // JVM : JRE + a // 클래스 내에 생성자가 1개도 없다면 // 기본 생성자는 존재하는 것으로 인식함(기본제공)..
이름지정 규칙 1) A-Z, a~z, 0 ~9, $ 2) 첫글자문자 3) 글자수제한 x 4) 예약어 x 5) 의미있게 지정 1) 클래스명 : 첫글자 대문자, 사이공백 x, 뒷 단어 첫글자 대문자 2) 변수명 : 첫글자 소문자. 뒷 단어 대문자 3) 메서드명 : 첫글자 소문자. 뒤에 괄호 4) 생성자 : 클래스명과 동일, 뒤에 괄호 5) 상수 : 일반적으로 대문자(MAX_VALUE)
3차 배열은 주로 게임해서 씁니다아 package day2; public class ArrayEx5 { public static void main(String[] args) { int[][][] m = new int[3][2][4]; } } ------------------------------------------------------ package day2; import java.util.Arrays; public class ArrayEx5 { public static void main(String[] args) { int[] m = { 1,2,3,4,5,6,7,8,9,10 ,11,12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,28,29,30, 31,32,33..
package day2; import java.util.Scanner; public class ArrayEx1 { public static void main(String[] args) { //사용자로부터 3개의 정수를 입력받아 //총점과 평균을 출력하세요 Scanner sc = new Scanner(System.in); System.out.println(""); System.out.print(" 국어 :"); int a = sc.nextInt(); System.out.print("영어 :"); int b = sc.nextInt(); System.out.print("수학 :"); int c = sc.nextInt(); System.out.println(" kor :"+a); System.out.printl..
package day2; public class MethodEx2 { static void printGoo(int num){ //c스타일도 가능 for (int j = num; j
package day2; public class STMTEx11 { public static void main(String[] args) { //밖에 있는 for문을 죽임 outer: for(int i = 0; i
package day2; //ctrl + shift + o import java.util.Scanner; public class STMTEx5 { public static void main(String[] args) { // 조건 분기문 //사용자에게 값을 받기 Scanner sc = new Scanner(System.in); System.out.println(""); int a = sc.nextInt(); if(a > 90 ) { System.out.println(" a 는 90보다 크다."); } else if(a==90){ System.out.println(" a는 90 입니다. "); } else { System.out.println(" a는 90 미만 입니다. "); } System.out.pr..
HashMap이란 Map 인터페이스의 한 종류로서 Key와 Value값으로 데이터를 저장하는 형태를 가지고 있다. Map이란 Key(키), value(값)을 하나의 쌍으로 묶어서 저장하는 컬렉션 클래스들을 구현하는데 사용되는 것. key, value 값으로 저장하는 list형태의 조상이라고 생각. HashMap은 Map인터페이스를 구현한 것 이기 때문에 Map의 속성을 모두 가지고 있고, 저장 방식 또한 동일. 그리고 해싱(hashing)이란 검색 방법을 사용하기 때문에 / 많은 양의 데이터를 검색하는데 있어서 뛰어난 성능을 보여준다. HashMap에서 한가지 주의 할 것은 map에 데이터를 등록할 때, key값은 중복되지 않고, value값은 중복이 허용된다는 점. 생성자/메서드 설명 HashMap()..
JAVA에서 스택(Stack)과 힙(heap) (메모리공간)스택 : 메소드 호출과 지역변수가 있는곳힙 : 모든 객체가 있는 곳 이클립스를 사용하면서 시스템 과부하나 (out of memory)메모리 부족 현상이 가끔 있다.이는 jvm이 메모리 영역을 사용하기 때문에 나타나는 현상인데,jvm은 메모리 관리를 heap과 permgen 영역으로 나누어 관리한다.jvm의 일반적인 실행 영역은 heap영역.permgen 영역은 클래스 메타 데이터를 관리해주는 영역.그렇게 때문에 jvm의 heap영역과 permgen 영역을 늘려주면 보다 전보다 원활한 작업을 진행할 수 있다.Xms heap영역의 시작크기Xmx는 heap영역의 최대크기주의할 점 : heap영역의 최대크기는 heap영역의 시작크기보다 같거나 커야 한다..
svn을 연동한 뒤 다음의 메소드에 자바 에러가 나서 파일을 싱크 하는데 잘 되지 않았다.1. LoginController 에러=> req.getServletContext()는 Servlet 3.0 이상을 지원해서 에러가 났던 거였음.=> Tomcat 7으로 업데이트 한 뒤 해결됨.1) project > build path >libraries > Tomcat7 add2) Tomcat 7.lib.servlet-api.jar =>jdk_home.jre.lib.ext 에 복사?1),2)는 서로 같은 참조. 위의 에러를 해결한 뒤 발생한 에러2. Out of MemoryError : PermGen Space 해결.->windows > preferences > java > Intalled Jres > Jdk1.6..
interface는 선언만** 로직 x (객체지향적 프로그래밍)implement 는 interface를 상속extend - 일반클래스와 abstract클래스를 상속 반복되는 메소드 클래스로 빼기(인터페이스, 추상메소드) 1.메소드 추출 2. 클래스 추출 --->>> 코드 중복 방지 / 재사용 높음 * 외부클래스, 내부 클래스* 객체를 사용하기 위해서는 객체를 생성해야 한다* 클래스 아래 변수는 읽기 전용이므로 원래는 private를 써주는게 샘플 UserDAO라는 클래스를 만들고, 소스수정(소스수정-> 서버 on/off -> 비효율)을 하면서 생기는 비효율적인 부분을 해결하기 위한 Interface, implement에 대한 실습. ConnectionMaker라는 인터페이스를 만들고 각각의 디비에 접근가..
객체 지향 프로그래밍 1. Object Oriented Programming2. 절차 지향적 프로그래밍 방식은 데이터를 처리하는 방법에 중심으로 두고, 어떤 방법론으로 처리하는 것이 효과적인지, 효율적인지를 연구했던 방식이다. 3. 객체 지향적 프로그래밍 방식은 데이터 자신을 프로그램 처리의 대상으로 보고, 데이터 자신에게 처리 방법을 포함함으로써 독립적인 처리가 가능하도록 만든 프로그래밍 방법이다.객체 지향 프로그래밍에서는 데이터가 독립적인 상태가 되도록 하기 위해서 클래스라는 형태로 만들게 된다. 클래스는 속성과 기능을 멤버로 구성하게 된다. 속성은 멤버변수, 기능은 메소드로 표현한다.프로그램의 대상인 데이터를 클래스로 표현하고, 해당 클래스를 사용 가능한 상태인 인스턴스(객체화)로 만들어서 데이터 ..
1. 한 클래스 내에서 같은 이름을 가진 메소드를 추가로 정의하는 경우 메소드 시그니처(메소드 매개변수 구성 정보)가 다르면 동일한 이름의 메소드를 여러개 정의할 수 있다. 이를 메소드 오버로딩이라고 한다. 2. 메소드 오버로딩의 조건- 메소드 이름이 같다- 매개변수 구성(개수, 자료형)이 다르다- 반환 자료형은 관계 없다. 3. 메소드 오버로딩 형식접근지정자 반환자료형 메소드이름(자료형1 매개변수1) {}접근지정자 반환자료형 메소드이름(자료형2 매개변수2) {}접근지정자 반환자료형 메소드이름(자료형1 매개변수1, 자료형2 매개변수2) {}====================================================================== //Sample36.javapackage..
1. 생성자는 인스턴스가 생성될 때 호출되는 인스턴스 초기화 메소드이다. 인스턴스 생성 기본 형식클래스이름 변수 = new 클래스이름(); new는 인스턴스 생성 명령이고, 클래스이름()은 생성자 호출 명령이다.-> 모든 클래스는 내부적으로 생성자가 필수 조건이다. 2. 인스턴스 변수의 초기화 작업에 주로 사용된다. 멤버변수는 자동 초기화가 지원되므로 생성자가 없어도 초기화 할 수 있다. 3. 기본형식 public 클래스이름() {}public 클래스이름(매개변수) {this.멤버변수 = 매개변수;} 4. 매개변수가 없는 생성자를 기본생성자라고 하고, 생성자가 전혀 없는 클래스인 경우에만 컴파일 과정에서 기본생성자는 자동 생성된다.매개변수가 있는 생성자를 만드는 경우는 반드시 기본 생성자가 같이 존재해야..
메소드 오버라이딩(Overriding) 탄다.. 1. 상위 클래스의 멤버와 같은 이름을 가진 멤버를 하위 클래스에 재구성해서 사용할 수 있다. 오버라이딩(Overriding). 2. 오버라이딩 기본 조건 - 상위 클래스의 멤버와 동일한 이름, 메소드 시그니처, 리턴타입을 가진 메소드 - 접근지정자는 상위 클래스와 다르게 지정할 수 있다. 단, 상위 클래스보다 좁은 범위로의 지정은 안된다. - 더 적은 예외를 지정할 수 없다. - static, instance 상태를 변경할 수 없다. 3. 메소드 오버라이딩은 상위 클래스의 멤버를 하위 클래스가 사용할 때 기존의 메소드가 가진 구현 내용을 다르게 구현하고자 할 때 사용한다. 단, 상위 클래스의 생성자를 하위 클래스가 오버라이딩 할 수 없다. 4. 상위 클래..