생성자
ㅡ 인스턴스 생성 때 호출되는 인스턴스 초기화 메서드 / 인스턴스 변수 초기화에 사용
★ 생성자 이름은 클래스의 이름과 동일해야한다.
ㅡ 메서드와 비슷해보이나 생성자는 리턴 값이 없음
** 메서드도 반환타입이 void인 경우 리턴이 없어도 되긴함
ㅡ 모든 클래스는 생성자가 반드시 하나 이상 필요 / 따로 생성자를 선언하지 않으면 컴파일러가 자동으로 기본 생성자 생성
// 기본 생성자
클래스명() {}
Juice cola = new Juice("coke", "coca-cola", 200, 1000); // 생성자 매개변수로 인해 인스턴스 생성과 동시에 변수 초기화
Juice 클래스에 있는 String 변수 2개, int 변수 2개의 값을 실행과 동시에 초기화 → 생성자
class Juice{
String name;
String company;
int kcal;
int volume;
// 생성자
// 인스턴스가 생성됨과 동시에 실행됨
Juice(){
name = "coke";
company = "coca-cola";
kcal = 200;
volume = 500;
}
// 오버로딩에 의해서 생성자도 또 사용 가능
Juice(String name, String company, int kcal, int volume){
this(); // 또 다른 자신인 Juice() 생성자를 호출하는 거, 이런게 있다라고만 알고있자
this.name = name; // this.name은 class에서 선언된 인스턴스 변수를 가리킨다.
this.company = company;
this.kcal = kcal;
this.volume = volume;
}
this
ㅡ 생성자의 이름을 클래스 대신 this를 사용
ㅡ 생성자 내에서 다른 생성자 호출할 때는 첫 줄에서만 호출 가능
this : 인스턴스 변수를 가리키는 참조변수 / 주소 저장
this(), this(매개변수) : 같은 클래스의 다른 생성자 호출
'Java' 카테고리의 다른 글
HashMap (0) | 2023.01.10 |
---|---|
상속 ( Inheritance ) / 오버라이딩 ( Overriding ) (0) | 2023.01.09 |
오버로딩 ( Overloading ) (0) | 2023.01.06 |
메서드 ( Method ) (0) | 2023.01.05 |
인스턴스 변수 / 클래스 변수(static) / 지역 변수 (0) | 2023.01.04 |
댓글