Closed yuminhwan closed 2 years ago
public static Complex valueOf(double re, double im) {
if(re + im > 100)
return BigComplex(re, im);
return SmallComplex(re, im_);
}
저 문장자체가 이해가 잘 안갔는데 민성님 말씀해주신거 보고 이렇게 이해했습니다. 제가 이해한게 맞을까요?? 정적 팩토리를 제공해서 실제 package private한 클래스의 객체를 리턴해 줄 수 있다. 다만 그래서 장점이 무엇인지 잘 모르겠습니다🥲 package-priavate 객체를 리턴받는것까지는 ok지만, 해당 객체의 메서드를 사용할 수 없으니 변경가능성이 없다??일까요? 책에서 이어지는 다음 문장과의 연결도 잘 모르겠네욥.
말씀주신 불변객체를 참조하는 "객체" 가 불변객체를 필드로 가지고있는 객체라는 의미일까요??(제가 잘 몰라 여쭙습니다. 🙇♂️) 혹시 그렇다면, 그 참조하는 인스턴스 변수 자체가 final이 아니라면 thread-safe하지 않지 않을까요? 다른 객체를 가리킬 수 있으니까요. 불변 객체 자체는 thread-safe해도요.
아이템 1에서 설명한 EnumSet을 말하는 것과 같은 걸까요?