BACK/JAVA

[JAVA] 실전 자바 - 생성자, this

연듀 2024. 1. 30. 15:32

 

 

this

인스턴스 자신의 참조값

 

멤버 변수와 매개 변수의 이름이 같을 때,

매개 변수가 코드 블럭의 안쪽에 있기 때문에 더 우선순위를 가져 매개변수에 접근하게 된다.

이런 경우 멤버 변수에 접근하려면 앞에 this.를 붙인다.

 

생성자

 

객체를 생성하자마자 즉시 필요한 기능을 수행할 수 있게 해준다. 

 

  1. 이름은 클래스와 같다.
  2. 반환 타입이 없다.
  3. 나머지는 메서드와 같다. 

 

 

생성자 호출

인스턴스를 생성하고 나서 즉시 호출된다.

new 클래스이름(생성자에 맞는 인수 목록) 

 

 

생성자 장점

-중복 호출 제거

객체 생성 직후에 작업을 처리하기 위한 메서드를 한번 더 호출할 필요가 없어진다. 

 

-생성자 호출 필수

객체를 생성할 때 직접 정의한 생성자가 있다면 직접 정의한 생성자를 반드시 호출해야 한다.

안하면 컴파일 오류가 나기 때문에 필수값 입력이 보장이 된다. 

 

참고로 생성자 여러개를 오버로딩해 정의했을 경우, 하나만 호출하면 된다.

 

 

 

 

 

기본 생성자

매개변수가 없는 생성자

클래스에 생성자가 하나도 없으면 컴파일러는 자동으로 기본 생성자를 만들어준다.

 

참고로 자바가 자동으로 만들어주는 기본 생성자는 클래스와 같은 접근 제어자를 가진다. 

 

 

💡 생성자는 반드시 호출되어야 한다. 생성자가 없으면 기본 생성자가 제공된다.

💡 생성자가 하나라도 있으면 자바는 기본 생성자를 만들지 않는다. 이 경우 개발자가 직접 정의한 생성자를 호출해야 한다. 

 

 

this()

생성자 내부에서 자신의 다른 생성자를 호출

  • this()는 생성자 코드의 첫줄에만 작성 가능하다. 

 

 

정리

💡 생성자는 객체 생성 직후 객체를 초기화하기 위한 특별한 메서드

 

 

 

참고) 김영한 - 실전 자바

https://www.inflearn.com/course/%EA%B9%80%EC%98%81%ED%95%9C%EC%9D%98-%EC%8B%A4%EC%A0%84-%EC%9E%90%EB%B0%94-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard