IT 수업 11주차 (19) 객체지향_ 생성자 함수
● 생성자 함수
● 생성자 메서드?
- 객체를 생성하는 것, 만들어진 객체 내에서는 사용할 수 없지만 객체 생성하는 시점에서는 계속 쓸 수 있음
- 객체 생성시에 한번 호출되는 특수한 형태의 메서드
- 객체 생성시에 1회 호출
- 생성된 객체 내에서는 사용이 불가
- 객체 생성시에 필요한 메모리 공간형성과 초기값 부여에 사용
- 생성자 함수는 클래스명과 동일하며 반환자료형을 가지지 않는다.
- 생성자 함수를 클래스 내에 명시하지 않으면 컴파일러에 의해 주입되는 생성자가 있는데 이를 디폴트 생성자라고 한다
- 디폴트 생성자는 모든 멤버변수의 초기값을 0(or false null) 으로 지정
- 생성자 함수는 함수니까 오버로딩이 가능하다.
● 객체를 생성할 때 해당 필드를 외부에서 받은 값으로 초기화하기 위한 생성자 선언 방법
객체 ( 타입 필드1, 타입 필드2) {
this.필드1 = 필드1;
this.필드2 = 필드2;
}
로 하면된다.
예시) member 객체에 name 필드와 id 필드를 초기화하면
member(String name, String id) {
this.name = name;
this.id = id;
}
마우스 오른쪽 눌러서 source의 generate Constructor using Fields 누르면 나온다,
generate 하면 이렇게 코드가 자동으로 입력된다.
<실행화면>
클래스 선언시 생성자함수를 1개 이상 명시하게 되면 디폴트 생성자가 자동 주입되지 않으니 주의해야 한다.