유틸리티 클래스2 [Effective Java] 아이템4: 인스턴스화를 막으려거든 private 생성자를 사용하라 Chapter 02: 객체 생성과 파괴객체를 만들어야 할 때와 만들지 말아야 할 때를 구분하는 법올바른 객체 생성 방법에 대한 설명유틸성 클래스 단순히 정적 메소드와 정적 필드를 담은 클래스 이런 클래스는 인스턴스화를 할 필요가 없다 → 인스턴스화를 막아보자. 이런 유틸 성격을 가지는 클래스는 자바 / 스프링 쉽게 찾아볼 수 있다. java.lang.Math java.util.Arraysjava.util.Collections Collections는 특정 인터페이스의 구현하는 객체들을 생성해 주는 정적 팩토리 메소드를 모아놓았다. 사용자는 해당 구현체를 몰라도 사용할 수 있다는 관점에서 알아야 하는 개념적인 무게가 줄었다고 볼 수 있다. public final class Math { private .. 2024. 10. 26. 유틸리티 클래스 & 설계 방식 Math 클래스public final class Math { // Private constructor to prevent instantiation private Math() {} // Static utility methods public static int add(int a, int b) { return a + b; } public static double sqrt(double value) { return java.lang.Math.sqrt(value); } // More utility methods...}package java.lang;Math 클래스는 final로 선언되어 있어 상속할 수 없다.생성자가 private로 선언되어 있어,.. 2024. 8. 21. 이전 1 다음