woowacourse-study / 2022-object-study

우테코 4기 오브젝트 스터디
3 stars 4 forks source link

new 로 객체를 생성할 때 필요한 인스턴스를 주입하는 2가지 방법 비교 #64

Open tonic523 opened 2 years ago

tonic523 commented 2 years ago

주제

new로 객체를 생성할 때 필요한 인스턴스를 주입하는 2가지 방법을 비교

선정 이유

new는 해롭다는 주제에서 예전 미션을 할 때 고민했던 내용이 떠올랐습니다.


public class Car {

  private final Name name;
  private final Position position;

// 1번
  public Car(String name, int position) {
    this.name = new Name(name);
    this.position = new Position(position);
  }

// 2번
  public Car(Name name, Position position) {
    this.name = name;
    this.position = position;
  }
}

1번과 2번 중 어떻게 생성할까 고민을 많이 했었습니다.

1번

2번

제가 생각하는 장단점은 위와 같습니다. 보통은 클래스의 필드에 맞게 생성자를 구현해주는데 여러분들은 어떤 기준으로 생성자의 인자를 받는지 알고 싶습니다. 작성하다보니 2가지 방법 모두 작성하는 것도 있겠군요!

해당 텍스트

관련 페이지

271p ~ 276p (new는 해롭다)