반응형
생성자 구현
생성자 개요
- 객체를 만드는 틀인 클래스에서 필요하면 생성자를 구현
- 객체가 생성될 때 필요한 작업을 수행하는 특별한 메소드
- 주로 객체 필드에 초기 값을 저장하거나 객체의 사용을 위해 필요한 초기화 작업을 수행
생성자의 구성
- 반환형을 기술하지 않으면 이름은 반드시 클래스 이름
- 생성자의 인자는 필요하면 기술
- 생성자는 주로 접근 지정자 public을 사용
- 만일 필요하다면 생성자의 접근 지정자도 private 또는 protected도 사용 가능 → 보통 singleton 패턴에서 사용
기본 생성자(default constructor)
인자가 없는 생성자
클래스 Student에서 생성자가 하나도 구현되지 않았다면,
- new Student()와 같이 인자가 없는 생성자를 호출하여 객체를 생성
- 생성자를 전혀 구현하지 않은 클래스는 자동으로 기본 생성자를 제공
인자가 있는 생성자
클래스에서 인자가 있거나 적어도 하나 이상 구현되었다면,
- 더 이상 기본 생성자는 자동으로 사용 불가능하고
- 기본 생성자를 사용하려면 기본 생성자도 직접 구현해야 함
필요한 여러 생성자 구현
생성자 오버로딩(constructor overloading)
- 하나의 클래스에서 인자가 다르면 생성자를 여러 개 구현 가능
자기 자신의 다른 생성자 호출
this(···)
- 구현된 자기 자신의 다른 생성자를 호출하는 문장
- 생성자 구현에서 첫 줄에는 this(인자)로 다른 생성자를 호출하여 사용 가능
- 두 번째 줄부터는 사용 불가 (두 번 이상 사용 불가)
반응형
'cs > java-spring-boot' 카테고리의 다른 글
[Zero-base] 2-5. static과 final 그리고 배열 (0) | 2022.01.23 |
---|---|
[Zero-base] 2주차 과제 (JavaSystemProperty.java) (0) | 2022.01.21 |
[Zero-base] 2-3. 클래스와 객체의 생성 (0) | 2022.01.18 |
[Zero-base] 2-2. 객체지향 언어의 4가지 특징 (0) | 2022.01.18 |
[Zero-base] 2-1. 객체지향 프로그래밍의 이해 (0) | 2022.01.18 |