Notice
Recent Posts
Recent Comments
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

충분히 쌓여가는

6.7 생성자 선언과 호출 - 생성자 본문

이것이 자바다/06 클래스

6.7 생성자 선언과 호출 - 생성자

빌드이너프 2024. 4. 1. 20:05

클래스가 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(); // 기본 생성자 호출 불가		
	}
}