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가지 방법 모두 작성하는 것도 있겠군요!
주제
new로 객체를 생성할 때 필요한 인스턴스를 주입하는 2가지 방법을 비교
선정 이유
new는 해롭다는 주제에서 예전 미션을 할 때 고민했던 내용이 떠올랐습니다.
1번과 2번 중 어떻게 생성할까 고민을 많이 했었습니다.
1번
2번
제가 생각하는 장단점은 위와 같습니다. 보통은 클래스의 필드에 맞게 생성자를 구현해주는데 여러분들은 어떤 기준으로 생성자의 인자를 받는지 알고 싶습니다. 작성하다보니 2가지 방법 모두 작성하는 것도 있겠군요!
생성자의 종류는 다다익선이다
에 대해서도 간단히 얘기해보고 싶습니다 ㅎㅎ해당 텍스트
관련 페이지
271p ~ 276p (new는 해롭다)