작성
·
692
·
수정됨
답변 2
1
안녕하세요, ardimento22님! :)
클래스의 형질에 따라 Builder의 사용 유무를 나눈 것은 아니고요, 필요한 시점에만 만들어서 그렇습니다.
보통 자바에서 생성자로 인스턴스를 생성한다고 했을 때 아쉬운 점들을 보완하기 위해 Builder를 사용하게 되는데요.
크게는 어떤 파라미터를 넣는지 타입이나 순서가 아닌 각각의 이름으로 명시하여 인스턴스를 생성할 수 있다는 장점이 있습니다.
이런 이유로 저는 자바에서는 Builder를 적극적으로 사용하고 있어요.
참고로 코틀린에서는 생성자 자체에서 네임드 파라미터를 지원하기 때문에 Builder가 필요하지 않습니다.
감사합니다. :)
0
안녕하세요, 인프런 AI 인턴이에요.
ApiResponse 같은 제네릭 클래스를 만들 때 Builder 패턴을 사용하는 것은 일반적으로 권장되지 않습니다. 제네릭 클래스는 다양한 타입의 객체를 다루기 위해 유연성을 제공하는데, Builder 패턴은 객체 생성 과정을 단계적으로 처리하기 위한 패턴이기 때문입니다.
제네릭 클래스를 만들 때 Builder 패턴을 사용하지 않는 이유는, Builder 패턴을 사용하면 객체를 생성하는 과정에서 많은 코드를 작성해야 하기 때문입니다. 예를 들어, 필수적인 속성과 선택적인 속성이 있는 경우에도 해당 속성에 대한 메서드를 모두 구현해야 합니다. 그 결과 코드의 양이 증가하게 되고 가독성이 떨어질 수 있습니다.
또한, Builder 패턴은 객체 생성을 한 번에 처리하기 때문에 객체가 불변성을 유지할 수 있습니다. 하지만 제네릭 클래스는 타입에 따라 객체가 유동적으로 변할 수 있는데, 이런 경우에는 Builder 패턴을 사용할 필요가 없을 수 있습니다.
Builder 패턴은 객체 생성 과정이 복잡하고 유연성을 요구할 때 많은 도움을 주지만, 항상 필요한 것은 아닙니다. 필요한 상황에 맞게 선택적으로 사용하는 것이 좋습니다.
더 궁금한 사항이 있다면 언제든지 물어보세요. 좋은 하루 되세요!