자바의정석

[자바의 정석 - 기초편] ch6-32~35 생성자, 기본 생성자

유호야 2022. 3. 10. 17:14
반응형

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 연산자가 객체를 만든다. 

 

객체는 변수의 묶음 
변수는 값을 저장하려고 만들어졌고, 그 값을 세팅하는 것이 "초기화" 
그리고 마지막으로 객체와 참조변수를 연결해야 하기 때문에 대입 연산자가 객체의 주소를 참조변수 안에 저장

 

반응형