생성자는 new 연산자와 같이 객체의 초기화를 담당한다. 모든 클래스는 생성자가 반드시 있어야 한다.

 

특징


1. 클래스 이름과 동일한 메소드를 가짐

2. new 연산자에 의해 호출

3. 주로 초기화를 담당

4. 생성자 선언을 생략하면 컴파일러는 기본 생성자를 자동으로 추가

5. OverLoad 사용

  → 개발자가 선언한 생성자가 있으면 컴파일러는 기본 생성자를 추가 하지 않음

 

package classes;

class con01DTO {

 

String name;

int age;

 

//생성자 이용(형식 확인)

con01DTO(String n, int a){

name=n;

age=a;

}

 

//메소드 이용

public int getAge(){

return age;

}

 

public String getName(){

return name;

}

 

public void setAge(int a){

age = a;

}

 

public void setName(String n){

name = n;

}

}

 

package classes;

class con01Main {

public static void main(String[] args) {

 

con01DTO dto1 = new con01DTO("문돌이", 15);

con01DTO dto2 = new con01DTO(); //에러

 

System.out.println(dto1.name + ""+dto1.age + "");

 

dto2.setAge(15);

dto2.setName("문돌이");

System.out.println(dto2.getName() + dto2.getAge());

}

}

 

Main 파일을 컴파일 시 dto2에서 new 연산자로 초기화 하는 과정 중 에러가 발생한다. dto2getter setter의 개념을 이해하기 위해 넣은 부분이다. 모든 코드는 드래그 해서 복사가 가능하니 확인해보길 바란다.

 


con01DTO(){

 

}

 

특징 4,5번과 관련 있는 내용으로 위 코드를 DTO 파일에 추가하면 정상적으로 작동한다.

+ Recent posts