분류 전체보기118 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 - 팩토리 메서드 패턴 팩토리 메서드 패턴은 디자인 패턴중의 하나로, 구체적으로 어떤 인스턴스를 만들지는 서브 클래스가 정한다 입니다. 이 방식은 디자인을 좀 더 사용자 정의에 가깝게 하고 약간의 복잡성을 추가하면서도, 객체 지향의 캡슐화 및 우연성 원칙을 지원합니다. 팩토리 메서드 패턴의 핵심 구성 요소 Product : 생성될 객체들의 공통 인터페이스를 정의합니다. ConcreteProduct : Product 인터페이스를 구현하는 실제 클래스 입니다. Creator : 팩토리 메서드를 선언하고 Product 객체를 반환하는 메서드를 정의하는 클래스 입니다. ConcreteCreator : Creator 클래스를 상속 받고 팩토리 메서드를 구현하여 구체적인 Product를 생성하는 클래스 입니다. 팩토리 메서드 패턴의 장점.. 2024. 4. 17. 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 - Supplier<T> 인터페이스가 팩토리를 표현하는 완벽한 예이다 Effective Java 에서 언급하는 Supplier 인터페이스는 자바에서 팩토리 메서드 패턴의 일반적인 구현을 제공하는 좋은 예입니다. Supplier 인터페이스는 자바 8에서 도입된 java.util.function 패키지의 일부로, 입력 없이 특정 타입의 객체를 공급하는 간단한 함수형 인터페이스입니다. Supplier 인터페이스 Supplier 는 단 하나의 추상 메서드 get() 을 가지고 있습니다. 이 메서드는 매개변수를 받지 않고, 호출 될 때마다 새로운 또는 기존 객체를 반환할 수 있습니다. 반환 타입은 T로 Supplier 인터페이스를 구현할 때 지정됩니다. @FunctionalInterface public interface Supplier { T get(); } 팩터리 메서드 패턴으로.. 2024. 4. 17. String Join 문자열 합치기 자바 String 문자열 합치기입니다. 과거에는 loop를 돌면서 문자열을 합치는 경우 마지막 문자에 대해서 로직이 복잡하게 들어가야 되었는데요. JAVA11 부터 제공되는 join 메서드를 통해 문자열을 쉽게 합칠수 있습니다. public class StringJoinExam { public static void main(String[] args) { List strings = List.of("Java", "is", "cool"); String result = String.join("-", strings); System.out.println("result = " + result); } } 2024. 4. 9. String 클래스 자바에서 문자열을 다루는 String 클래스는 자주 사용되는 중요한 클래스입니다. 이번 포스트에서는 String 클래스의 기본 개념, 불변성(immutability) 그리고 객체 생성 방식에 대해서 살펴 보겠습니다. 참고로 String 클래스의 비교는 equals입니다. String 클래스의 불변성 String 클래스는 불변 클래스로, 한 번 생성된 String 객체의 상태를 변경할 수 없습니다. 즉, 문자열을 벼경하려고 하면 기존 객체를 수정하는 대신, 변경된 새로운 문자열을 포함하는 새로운 String 객체가 생성됩니다. 이러한 특성은 String 객체가 공유되거나 재사용될 때 유용합니다. String a = "java"; a.concat(" coding"); System.out.println("a .. 2024. 4. 4. 이전 1 ··· 4 5 6 7 8 9 10 ··· 30 다음