생성자 ( constructor)
( = iv 초기화 메서드)
- 인스턴스가 생성될 때마다 호출되는 '인스턴스 (=객체) 초기화 메서드
= iv 초기화
- 이름이 클래스 이름과 같아야한다
Class Card { // 클래스 이름 = 생성자 이름
...
Card () { // 매개변수 없는 생성자
// 인스턴스 초기화 작업
} => 생성자 오버로딩
Card (String kind, int number) { // 매개변수 있는 생성자
// 인스턴스 초기화 작업
}
}
- 리턴값이 없다. (void 안 붙힘) -> 반환값이 없기 때문에
- 모든 클래스는 반드시 생성자를 가져야 한다. (1개 이상의 생성자)
기본 생성자 (default constructor)
- 매개 변수가 없는 생성자
- 생성자가 하나도 없을 때만, 컴파일러가 자동 추가
클래스이름 () {} // 기본 생성자, 직접 작성해주어야함!
Point() {} // Point 클래스의 기본 생성자
매개변수가 있는 생성자
생성자를 만들었기 때문에 Car c = new Car("white", ... 와 같이 한 줄로 쓸 수 있음
1. 참조변수 생성
2. new 연산자가 객체를 생성함 (Class를 보고 적힌대로)
3. 생성자 호출 하면서 객체를 초기화 함 (iv 초기화 : c.color , c.gearType ... )
4. 객체와 참조변수 연결을 위해 대입 연산자가 객체의 주소를 저장함
객체의 주소는 new 연산자의 반환값임
'자바의 정석 - 기초편' 카테고리의 다른 글
변수의 초기화, 멤버변수의 초기화 (0) | 2022.08.09 |
---|---|
생성자 this(), 참조변수 this (0) | 2022.08.08 |
오버로딩 (overloading) (2) | 2022.08.08 |
Static 메서드와 인스턴스 메서드 (0) | 2022.08.08 |
기본형 매개변수 (0) | 2022.08.08 |