코딩항해기

[JAVA] 생성자 (+this, this()) 본문

JAVA

[JAVA] 생성자 (+this, this())

miniBcake 2024. 7. 20. 09:41

 

 

 

생성자

클래스 이름 뒤에 소괄호가 있는 형태로, 생성자는 리턴이 정해져있기 때문에 생략한다.

객체를 생성할 때 실행되는 코드가 작성되어있어, 주로 해당 클래스의 필드를 초기화 하는 목적으로 사용한다.

클래스 선언시 자동으로 자바 컴파일러가 기본 생성자를 만들어준다.

기본 생성자는 매개변수가 없고 클래스의 필드를 초기화하는 역할을 하며,

생성자를 직접 선언한 뒤에는 더는 제공되지 않는다.

기본 생성자 public 클래스명(){}

 

생성자 오버로딩

매개변수의 타입, 개수, 순서가 다르면 생성자를 여러 개 선언할 수 있다.

생성자에는 this()가 쓰일 수 있으며 객체의 필드값임을 명시하기 위해 this도 사용된다.

 

this, this()

this

현재 객체를 가리키며, 객체 내에서 this 키워드를 사용하면 현재 객체의 속성과 메소드에 접근할 수 있다.

주로 필드와 메소드의 매개변수의 이름이 동일한 경우, this를 사용하여 현재 객체의 필드(멤버변수)임을 명확히 할 수 있다.

 

this()

자기자신의 생성자를 의미한다. 생성자 내부에서만 사용이 가능하며 최상단에 작성해야한다.

현재 클래스의 다른 생성자를 호출하는데 사용되어, 생성자 오버로딩을 할 때 중복되는 코드를 최소화 시킬 수 있다.

 

예를 들어, 클래스 내에 여러 개의 생성자가 있는 경우, 각 생성자에서 공통적으로 수행해야하는 초기작업이 있다면, 이 작업을 다른 생성자 내에서 호출할 수 있다. this()를 사용하여 다른 생성자를 호출할 때는 해당 생성자의 인수를 전달하여 필요한 초기화를 수행할 수 있다.

'JAVA' 카테고리의 다른 글

[JAVA] 내부클래스, 익명클래스  (0) 2024.07.23
[JAVA] 상속 (+super, super())  (0) 2024.07.21
[JAVA] 배열 (+index, Arrays)  (1) 2024.07.17
[JAVA] 컬렉션 프레임워크 (+Generic, Iterator)  (0) 2024.07.15
[JAVA] 연산자  (0) 2024.07.14