Java

Java / 생성자

Dear-J 2025. 2. 21. 03:11

this

멤버 변수와 메서드의 매개변수의 이름이 같으면 어떻게 구분?

>> 멤버 변수보다 매개변수가 코드 블럭의 더 안쪽에 있기 때문에 매개변수가 우선순위

멤버 변수에 접근하려면?

>> this.을 해준다. 여기서 this는 인스턴스 자신의 참조값을 가리킴

 

생성자(Constructor)

객체를 생성하고 이후 바로 초기값을 할당해야 하는 경우

>> 생성자를 사용해서 객체를 생성하는 시점에 즉시 필요한 기능 수행

 

생성자의 이름은 클래스 이름과 같아야 함(대문자 시작)

반환 타입 없음

나머지는 메서드와 같음

생성자는 인스턴스를 생성하고 나서 즉시 호출됨

 

장점

중복 호출 제거

>> 메서드를 직접 한번 더 호출할 필요 x

 

직접 정의한 생성자를 호출하지 않으면 컴파일 오류 발생

>> 생성자를 사용하면 필수값 입력을 보장할 수 있음

 

좋은 프로그램은 적절한 제약이 있는 프로그램이다.

 

기본 생성자

매개 변수가 없는 생성자

클래스에 생성자가 하나도 없으면 자바 컴파일러는 기본생성자를 자동으로 만듦

생성자가 하나라도 있으면 자바는 기본 생성자를 만들지 않음

 

왜 자동으로 기본 생성자를 만들까?

>> 생성자 기능이 필요하지 않은 경우에도 모든 클래스에 개발자가 직접 기본 생성자를 정의해야 함.

 

this()

생성자 내부에서 자신의 생성자를 호출 가능

생성자 코드의 첫줄에만 작성 가능

 

Generate 단축키

Alt + Insert

 

 

'Java' 카테고리의 다른 글

Java / 자바 메모리 구조와 static  (0) 2025.02.22
Java / 접근 제어자  (0) 2025.02.21
Java / 패키지  (0) 2025.02.21
Java / 기본형과 참조형  (0) 2025.02.21
Java / 클래스와 데이터  (0) 2025.02.21