본문으로 바로가기

[JAVA] 디자인 패턴(1)

category 프로그래밍/JAVA 2021. 4. 14. 00:19
728x90
반응형

자바에서는 디자인 패턴을 사용하여 설계를 하고, 코딩을 하게 됩니다.

디자인 패턴은 대학 시절, 소프트웨어 공학이론 수업에서 배웠던 기억이 있습니다.

일종읠 설계 디자인 방법론으로 생각하시면됩니다.

디자인 패턴은 왜 사용할까요?

궁극적인 이유는 좋은 코드를 만들기 위해서입니다.

보통 소스 코드에 대한 인수 인계를 할 경우, 다른 사람이 쉽게 이해하기는 어렵습니다.

인수 인계 후, 코드를 수정하거나 새로운 기능을 추가할 때, 많은 문제가 생기고, 시간과 금액에 대한 낭비가 발생합니다.

디자인 패턴은 이런 것들을 줄여줍니다.

디자인 패턴에 대한 이해가 있는 사람이라면 패턴에 대해 이야기를 하게되면 의사소통이 쉽게 됩니다.

이 소스 코드든 이러한 디자인 패턴으로 설계가 되었다고만 이야기하더라도, 조금 과장하자면 소스 코드의 절반은 이해가 된 셈입니다.

소스 코드를 이해하기도 쉬울 뿐더러, 수정/추가 작업을 해야될 경우에도 부작용이 작게 발생합니다.

디자인 패턴은 외우기 보다는 직접 사용하면서 왜 이것을 사용했고, 사용했을 때의 이점에 대해서 이해하는 것이 좋습니다.

이번 포스팅에서는 디자인 패턴의 종류에 대해 알아보겠습니다.

1. 생성패턴
-객체의 생성에 관련된 패턴
-객체의 생성/조합을 캡슐화하여 특정 객체가 생성되거나 변경되어도 프로그램 구조에 영향을 받지 않아, 수정/추가 작업이 용이

2. 구조패턴
-클래스나 객체를 조합하여 구조를 만드는 패턴
-서로 다른 인터페이스를 지닌 객체로 하나의 인터페이스를 제공하거나, 객체들을 서로 묶어 새로운 구조를 제공하는 패턴

3. 행위패턴
-객체나 클래스 사이의 알고리즘 또는 행위에 대한 패턴
-객체 하나가 혼자 수행할 수 없는 작업들을 다른 객체로 분배하는 것, 또는 그렇게 동작하면서 다른 객체 와의 결합을 최소화하는 패턴

오늘은 여기까지 포스팅하고, 다음에는 패턴 하나하나에 대해 예시를 보고 분석해보겠습니다.

이상입니다.

728x90
반응형

'프로그래밍 > JAVA' 카테고리의 다른 글

[JAVA] String, StringBuffer, StringBuilder  (0) 2021.05.13
[JAVA] Mybatis란?  (0) 2021.04.18
[JAVA] https 인증서 jks파일  (0) 2021.03.30
[JAVA] SLF4J 에러  (0) 2020.11.04
[JAVA] 파일 이동 방법  (0) 2020.10.19