ch6-32 생성자(constructor)
인스턴스가 생성될 때마다 호출되는 "인스턴스(객체, IV의 묶음) 초기화 메서드"
일반적으로 객체들을 초기화하는 기능이 있지만, 꼭 그렇지만은 않다.
"기본 생성자" 가 있기 때문에 그 동안 생성자를 만들지 않았지만, 우리가 직접 만들어서 객체를 초기화할 수 있다.
ch6-32 생성자(constructor)란?
iv 초기화 메서드
- 이름이 클래스 이름과 같아야 한다.
- 리턴 값이 없다.
- 모든 클래스는 반드시 생성자를 가져야 한다.
메소드...................... 앞에는
void를 붙여야 하는데
생성자도 오버로딩이 존재한다.
생성자를 호출하는 부분이다 > new Card() ;
컴파일러가 생성자가 하나도 없을 때 자동으로 호출해준다.
ch6-33 기본 생성자(default constructor)
- 매개변수가 없는 생성자
- 생성자가 하나도 없을 때만, 컴파일러가 자동 추가
기본생성자는 다른 생성자가 있더라도, 꼭 넣어주어야 한다.
제대로 된 클래스라면 기본 생성자를 만들어 줄 것
생성자를 작성하지 않은 클래스에는 자동으로 기본 생성자가 만들어지지만,
Data_2 의 경우에 매개변수가 있는 생성자를 생성했기 때문에, 해당 클래스 내에 유일한 생성자가 되어서, new Data_2();의 경우에 매개변수가 없는 생성자를 찾을 수 없는 오류가 발생한다.
실습
이클립스는 저장할 때마다 자동 컴파일을 한다.
클래스를 만들 때 기본 생성자를 만드는 것을 습관을 들이는 게 좋다.
ch6-34 매개변수가 있는 생성자
객체를 생성하는 쪽에서는 코드를 간결하게 할 수 있다.
1) new 연산자가 객체를 만든다.
2) 3개의 객체 (color, gear type, color)
3) 생성자 호출 - 객체 초기화
new 연산자가 객체를 만든다.
객체는 변수의 묶음
변수는 값을 저장하려고 만들어졌고, 그 값을 세팅하는 것이 "초기화"
그리고 마지막으로 객체와 참조변수를 연결해야 하기 때문에 대입 연산자가 객체의 주소를 참조변수 안에 저장
'자바의정석' 카테고리의 다른 글
[자바의 정석 - 기초편] ch6-38~41 변수의초기화, 멤버변수의 초기화 (0) | 2022.03.10 |
---|---|
[자바의 정석 - 기초편] ch6-36,37 생성자 this(), 참조변수 this (0) | 2022.03.10 |
[자바의 정석 - 기초편] ch6-30,31 오버로딩 (0) | 2022.03.10 |
[자바의 정석 - 기초편] ch6-26~29 static메서드와 인스턴스 메서드 (0) | 2022.03.10 |
[자바의 정석 - 기초편] ch6-24,25 참조형 매개변수, 참조형 반환타입 (0) | 2022.03.08 |