본문 바로가기
나만의 정리

자바 생성자 정리

by 코리늬 2018. 2. 21.

자바 생성자에 관해 개념이 확실히 서지 않아서 정리의 필요성을 느꼈다.


생성자(constructor)

- 객체 생성시 변수에 초기값을 제공하고 필요한 초기화 절차를 실행하는 메소드

- 인스턴스 변수를 초기화하는 것이 목적, 하나의 변수를 동시에 여러개의 값으로 초기화 할 수 있다.


생성자의 특징

- 인스턴스가 생성될 때마다 호출되는 '인스턴스 변수의 초기화 메소드'

- 인스턴스 변수의 초기화 또는 인스턴스 생성시 실행할 작업에 사용

- 모든 클래스에는 반드시 하나 이상의 생성자가 있어야 한다.

- 생성자는 메소드처럼 클래스 안에 선언되고 구조도 메소드와 유사하지만, 리턴값이 없다.


생성자의 조건

- 생성자의 이름은 클래스의 이름과 같아야한다.

- 생성자는 리턴값이 없다. void를 쓰지 않는다.

*** 모든 클래스에는 반드시 하나 이상의 생성자가 있어야 한다. ***

- 형식 : 클래스 이름(타입 변수명, 타입 변수명){

}


디폴트 생성자

- 매개변수가 없는 생성자

- 클래스에 생성자가 하나도 없으면 컴파일러가 기본 생성자를 자동으로 추가한다.

- 형식 : 클래스이름(){}


this 생성자

- 자기자신을 직접 참조할 수 있는 참조변수

- 클래스 내에서 자신의 멤버들을 직접 참조

- 클래스 내에서 자기 자신을 참조할 수 있는 유일한 키워드

this.멤버변수

this.멤버메소드


this 생성자를 사용하는 이유

- 생성자는 마음대로 호출할 수 있는 메소드가 아니다. 객체의 메모리가 생성될 때 new와 함께 호출된다.

- 예외적으로 생성자를 호출할 수 있게 해주는 방법이 this다.


this 생성자로 호출할 때 규칙

- 반드시 생성자 내에서 다른 생성자를 호출해야 한다.

- 생성자에서 this를 이용한 생성자 호출은 어떠한 작업보다도 먼저 선행되어야 한다.

- 즉, this 생성자 호출 앞에 어떠한 구문도 사용할 수 없다.

- this를 이용해 생성자 내에서 다른 생성자를 호출할 수 있다.

- 생성자를 재사용 할 수 있다.



댓글