충분히 쌓여가는
6.7 생성자 선언과 호출 - 생성자 본문
클래스가 public class로 선언되면 기본 생성자도 public가 붙지만, 클래스가 public 없이 class로만 선언되면 기본 생성자에도 public이 붙지않는다
개발자가 명시적으로 선언한 생성자가 있다면 컴파일러는 기본 생성자를 추가하지 않는다
개발자가 생성자를 선언하는 이유는 객체를 다양하게 초기화하기 위해서이다
생성자 선언
클래스(매개변수, ...) {
//객체의 초기화 코드
}
생성자는 메소드와 비슷한 모양을 가지고 있으나, return 타입이 없고 클래스 이름과 동일하다
매개변수는 new 연산자로 생성자를 호출할 때 매개값을 생성자 블록 내부로 전달하는 역할을 한다
예를 들어 Car 생성자를 호출할 때 3개의 매개값을 블록 내부로 전달한다고 가정
Car myCar = new Car("그랜저", "검정", 300);
3개의 매개값을 순서대로 대입받기 위해 다음과 같이 생성자가 선언되어야 함
public class Car {
//생성자 선언
Car(String model, String color, int maxSpeed) { ... }
}
정리 예시
package ch06.sec07.exam01;
public class Car {
//생성자 선언
Car(String model, String color, int maxSpeed) {
}
}
package ch06.sec07.exam01;
public class CarExample {
public static void main(String[] args) {
Car myCar = new Car("그랜저", "검정", 250);
// Car myCar = new Car(); // 기본 생성자 호출 불가
}
}
'이것이 자바다 > 06 클래스' 카테고리의 다른 글
6.7 생성자 선언과 호출 - 다른 생성자 호출 this() (0) | 2024.04.01 |
---|---|
6.7 생성자 선언과 호출 - 생성자 오버로딩 (0) | 2024.04.01 |
6.7 생성자 선언과 호출 - new 연산자 (0) | 2024.04.01 |
6.6 필드 선언과 사용 (0) | 2024.04.01 |
6.4 객체 생성과 클래스 변수 - 라이브러리와 실행 클래스 (0) | 2024.04.01 |