클래스 내부 구성요소 - 4. this 키워드와 this( ) 메소드

Ⅳ. this 키워드와 this( ) 메소드

1. this 키워드 vs this( ) 메소드

 - this 키워드 : 자신이 속한 클래스의 객체

 - this( ) 메소드 : 자기 클래스 내부의 다른 생성자를 호출

// Example
class Car {
	String color;
	String name;
    
	Car() {
		System.out.println("자동차 생긴 거 축하해");
	}
	Car(String car, String color) {
		// this : 지금 이 메소드를 호출한 객체 (soul이면 soul.name이 됨)
		// this() : 지금 이 메소드를 호출한 객체의 생성자
		// this가 붙으면 필드, 안 붙으면 매개변수
		this();			// 이렇게 하면 위에 Car()를 호출함 (오버로딩)
					// (이 호출문은 반드시 생성자 맨 윗줄에서 해야 함)
		this.name = car;
		this.color = color;
	}
}

public class Main {
	public static void main(String[] args) {
		Car soul = new Car("소울", "아이보리");
		Car carnival = new Car("카니발", "하양");
		System.out.println(soul.name);
		System.out.println(carnival.name);
	}
}
// 결과 :
// 자동차 생긴 거 축하해
// 자동차 생긴 거 축하해
// 소울
// 카니발