❓ 생성자
- 인스턴스가 생성될 때마다 호출되는 '인스턴스 초기화 메서드'
- 인스턴스 생성시 수행할 작업(iv 초기화)에 사용
Time t = new Time(); // 객체생성
t.hour = 12;
t.minute = 34; => iv초기화
t.second = 56;
↓
Time t = new Time(12,34,56); // 생성자 호출 , 생성자 추가해야 사용가능
- 이름이 클래스 이름과 같아야 한다.
- 리턴값이 없다.(void 안붙임)
- 모든 클래스는 반드시 생성자를 가져야 한다. (하나 이상)
class Card{
Card() { // 매개변수 없는 생성자.
// 인스턴스 초기화 작업
}
Card(String kind, int number) { // 매개변수 있는 생성자
//인스턴스 초기화 작업
}
=> 생성자 오버로딩
👀 기본 생성자
- 매개변수가 없는 생성자
- 생성자가 하나도 없을 때만, 컴파일러가 자동 추가
=> Data_1 클래스는 생성자가 없음->컴파일러가 기본생성자 자동 추가
=> Data_2 오류
-> Data_2 클래스는 생성자가 있지만, 매개변수가 있기 때문에 매개변수가 없는
기본 생성자를 따로 만들지 않는다
-> Date_2() { } 생성자를 만들어줘야 오류가 안 남
👀 매개변수가 있는 생성자
'자바의 정석 > 객체지향' 카테고리의 다른 글
[객체지향] 변수의 초기화, 멤버변수의 초기화 (0) | 2022.12.05 |
---|---|
[객체지향] 생성자 this(), 참조변수 this (0) | 2022.12.05 |
[객체지향] 오버로딩(overloading) (0) | 2022.12.02 |
[객체지향] static 메서드와 인스턴스 메서드 (0) | 2022.12.02 |
[객체지향] 기본형 매개변수 (0) | 2022.12.01 |