디자인 패턴(Design Pattern)

JP Kim·2024년 9월 23일

유니팅

목록 보기
2/5

디자인 패턴이란?

객체 지향 프로그래밍 개발을 하면서 자주 발생하는 문제들을 해결하기 위해 사용되는 검증된 해결책의 모음입니다.
각 문제에 대한 정형화된 해결 방식을 제시하는 디자인 패턴을 사용하면 코드를 보다 유연하고 견고하게 작성할 수 있습니다.

디자인 패턴의 목적

-개발자 간 의사소통의 편의성

예를 들어, 서로 디자인 패턴을 알고 있는 상태에서
'여기선 객체를 만들어 반환하는 함수를 통해 초기화 과정을 외부로부터 숨겨놓고 반환타입을 제어하는게 좋겠네요.' 보단
'여기선 팩토리 패턴을 사용하는게 좋겠네요.' 가 서로 이해하는데 더 편리할 것이다.

-코드 간 유연성 향상

디자인 패턴은 객체 간의 관계를 유연하게 관리할 수 있는 구조를 제공해줍니다. 따라서 객체 지향 프로그래밍 구조를 구현하는데 유용합니다.

디자인 패턴의 유형

디자인 패턴은 크게 생성 패턴, 구조 패턴, 행위 패턴으로 구분됩니다.

-생성 패턴

객체 생성과 관련된 패턴으로, 객체 생성 과정을 추상화하거나 캡슐화시켜주는 매커니즘을 제공합니다.

-구조 패턴

객체나 클래스를 조합하여 더 큰 구조를 만들어 내는 패턴으로, 객체의 확장성을 높여줍니다.

-행동 패턴

객체나 클래스 간의 상호작용을 도와주는 패턴으로, 객체들 간 소통 방법이나 역할 할당을 도와줍니다.

디자인 패턴의 주의점

디자인 패턴이 필요가 없는 상황에도 디자인 패턴을 적용해 코드가 더 복잡해질 수도 있다.
오히려 디자인 패턴을 사용하려고 하다가 빙 돌아가는 상황이 생길 수도 있으니 필요한 상황에 적재적소에 쓰는 것이 좋을 것이다.

profile
당신을 한 줄로 소개해보세요

1개의 댓글

comment-user-thumbnail
2024년 9월 23일

각 디자인 패턴에 대해 자세하게 설명해주는 글도 있으면 좋을 것 같아요!

답글 달기