디자인 패턴(Design Patterns)은 소프트웨어 개발에서 자주 반복되는 문제들을 해결하기 위해 만들어진
재사용 가능한 코드 설계 방법입니다.
즉, 소프트웨어 설계 시 발생할 수 있는 문제를 효율적으로 해결하기 위한 설계의 모범 사례라고 할 수 있습니다.
장점
- 개발자간의 원활한 소통
- 소프트웨어 구조 파악이 용이
- 재사용을 통한 개발 시간 단축
- 설계 변경 요청에 대한 유연한 대처
단점
- 객체지향 설계에 대한 깊은 이해도가 필요
- 간단한 문제에 대해 디자인 패턴을 적용하는 것이 오히려 더 복잡하고 비효율적일 수 있습니다.
- 모든 문제에 대해 디자인 패턴을 적용하는 것은 적절하지 않습니다.
디자인 패턴은 크게 생성(Creational), 구조(Structural), 행동(Behavioral)으로 구분할 수 있습니다.
생성 패턴
생성 패턴(Creational Pattern) : 객체 생성에 관련된 패턴으로, 객체가 생성되는 방식을 기본적인 형태에서 분리하여 코드의 유연성을 높입니다
Factory Method, Abstract Factory, Builder, Prototype, Singleton
package ch01;
// 싱글톤 패턴으로 코드를 작성해보자
// 1. 정적 변수 선언
// 2. private 생성자 선언
// 3. public 정적 메서드를 선언
public class SingleTon {
// 유일한 인스턴스를 저장할 변수(private)
private static SingleTon instance;
// 생성자를 private 선언해 주어야 한다.
private SingleTon() {}
// 인스턴스를 반환하는 정적 메서드를 만들어 준다(public) - 외부에서 접근 가능
public static synchronized SingleTon getInstance() {
if (instance == null ) {
instance = new SingleTon();
}
return instance;
}
public static void main(String[] args) {
// 객체를 여러개 생성해서 주소값이 같은지 비교 판단해보세요.
SingleTon s1 = getInstance();
SingleTon s2 = getInstance();
System.out.println(s1 == s2);
System.out.println(s1);
System.out.println(s2);
} // end of main
}
'JAVA' 카테고리의 다른 글
| 디자인 패턴 - 어댑터 패턴 (0) | 2025.10.02 |
|---|---|
| 디자인 패턴 - 팩토리 패턴 (0) | 2025.10.02 |
| 성능 최적화(HikariCP) 와 커넥션 풀이란? (0) | 2025.05.27 |
| JDBC 구성 요소(아키텍처) (0) | 2025.05.27 |
| Java.time 패키지 (0) | 2025.05.16 |