강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

hahnjae29 のプロフィール画像
hahnjae29

投稿した質問数

キム・ヨンハンの実践Java - 中級1編

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

作成

·

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객체지향

回答 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
質問者

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

hahnjae29 のプロフィール画像
hahnjae29

投稿した質問数

質問する