강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của hahnjae29
hahnjae29

câu hỏi đã được viết

Thực chiến Java của Kim Young-han - Trung cấp phần 1

생성자에서 객체 생성..?

Viết

·

206

0

    public Car(String model, int chargeLevel) {
        this.model = model;
        this.chargeLevel = chargeLevel;
        this.engine = new Engine(this);
    }

생성자에서 객체 생성하는 부분이 이해가 안돼요.

  1. CarMain에서 인스턴스 생성할 때 모델, 차지레벨 받는 거까진 이해가 되는데

  2. Car인스턴스에 엔진 필드를 새로운 엔진 객체로 받는건가요..?

  3. 그리고 또 그 엔진 객체엔 this로 받는 게 car인건가요..?

헷갈려서 어떻게 질문드려야할지도 잘 모르겠어요..

java객체지향

Câu trả lời 1

1

얼핏이해하고 계신것 같긴한데, 이해하신게 맞습니다.

예를들어 SM5, G70이라는 두가지 Car인스턴스가 있을때

SM5는 SM5를 위한 엔진이 필요하고, G70은 G70을 위한 엔진이 필요한겁니다.

예를들어
G70을 생산할때
=> new Car(...)

G70을 위한 엔진을 생산해서 G70에 부착 (생성자의 필드에 정의) 해주는겁니다.
=> 생성자안의 this.engine = new Engine(this)

그때 G70이라는것이 this입니다. (sm5를 생성하는 생성자에서는 sm5가 들어가겠죠)

hahnjae29님의 프로필 이미지
hahnjae29
Người đặt câu hỏi

각각의 엔진을 주려고 저렇게 쓰는 거군요.. 감사합니다..!

Hình ảnh hồ sơ của hahnjae29
hahnjae29

câu hỏi đã được viết

Đặt câu hỏi