본문 바로가기
728x90

프로그래밍/Java10

디자인패턴 - Command 패턴 Command 패턴은 행동(명령)을 객체로 캡슐화하여, 요청 내역을 매개변수화하거나 큐에 저장하거나 실행 취소(undo) 기능을 지원할 수 있도록 설계된 행위 디자인 패턴(Behavioral Pattern)입니다. 이 패턴은 요청, 작업, 명령 등을 객체로 만들어서 다양한 요구사항에 따라 실행하거나 조합할 수 있게 도와줍니다.### 핵심 개념 1. 명령 캡슐화:    - Command 패턴은 실행하고자 하는 명령을 단일 객체로 캡슐화합니다.    - 이는 실행 대상(Receiver)과 실행 요청자(Invoker)를 분리하여 서로 간의 의존성을 줄입니다. 2. 실행 취소/재실행(Undo/Redo):    - 명령을 객체로 캡슐화하면 실행 내역을 저장할 수 있어, 이를 통해 undo/redo 기능을 쉽게 구.. 2025. 4. 10.
람다 표준 함수적 인터페이스 Java 8부터 도입된 표준 함수적 인터페이스는 `java.util.function` 패키지에서 제공되며, 함수형 프로그래밍을 지원하기 위해 설계된 인터페이스들입니다. 이들 인터페이스는 람다 표현식과 함께 사용되며, 다양한 작업(조건 검사, 데이터 변환, 소비 등)을 간결하게 처리할 수 있도록 도와줍니다.### Java 표준 함수적 인터페이스 다음은 Java 표준 함수적 인터페이스의 주요 유형과 그 특징입니다: #### 1. Predicate - 목적: 조건을 검사하여 `true` 또는 `false`를 반환. - 추상 메서드: `boolean test(T t)` - 사용 예: 리스트에서 필터링, 특정 조건 확인.Predicate isEven = num -> num % 2 == 0;System.out.pr.. 2025. 4. 10.
디자인패턴 - Strategy 패턴 Strategy 패턴은 객체의 행위를 정의하고 이를 동적으로 변경하거나 교체할 수 있도록 설계하는 행위 디자인 패턴입니다.이 패턴은 다양한 알고리즘(혹은 행위)을 캡슐화하여 객체 간의 의존성을 제거하고 확장성을 높이는 데 도움을 줍니다.### 핵심 개념1. 알고리즘을 캡슐화:   - 특정 행위를 수행하는 알고리즘을 각각의 클래스(전략)로 캡슐화하여 독립적으로 관리합니다.2. 동적 교체:   - 실행 중에 알고리즘을 변경하거나 교체할 수 있는 유연성을 제공합니다.3. 확장성 강화:   - 새로운 알고리즘을 추가하려면 기존 코드를 수정하지 않고 새로운 클래스를 추가하면 됩니다.4. 느슨한 결합:   - 클라이언트는 알고리즘의 세부 구현에 의존하지 않고 인터페이스를 통해 접근합니다.### 구조Strategy .. 2025. 4. 10.
디자인패턴 디자인 패턴은 소프트웨어 개발에서 자주 나타나는 문제를 해결하기 위한 재사용 가능한 설계 방법입니다. 이는 객체지향 프로그래밍에서 코드의 구조를 효율적으로 만들고, 유지보수성과 확장성을 높이는 데 도움을 주는 표준화된 접근 방식입니다.### 디자인 패턴의 분류 디자인 패턴은 일반적으로 3가지 유형으로 나눠집니다: #### 1. 생성 패턴 (Creational Patterns)   객체 생성과 초기화를 다루며, 코드에서 객체 생성 방식을 효율적으로 관리하도록 합니다.   - 예:     - Singleton: 한 클래스에 대해 객체가 하나만 생성되도록 보장합니다.     - Factory Method: 객체 생성 과정을 캡슐화하여 유연성을 제공합니다.     - Builder: 복잡한 객체 생성 과정을 단.. 2025. 4. 9.
728x90