인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
BEST
개발 · 프로그래밍

/

개발 · 프로그래밍 기타

코딩으로 학습하는 GoF의 디자인 패턴

디자인 패턴을 알고 있다면 스프링 뿐 아니라 여러 다양한 기술 및 프로그래밍 언어도 보다 쉽게 학습할 수 있습니다. 또한, 보다 유연하고 재사용성이 뛰어난 객체 지향 소프트웨어를 개발할 수 있습니다.

(4.8) 수강평 167개

수강생 3,911명

Thumbnail

초급자를 위해 준비한
[프로그래밍 언어, 개발 도구] 강의입니다.

이런 걸
배워요!

  • GoF의 총 23개 디자인 패턴

  • 디자인 패턴 코딩하기

  • 자바와 스프링에 적용된 디자인 패턴

단순 구현을 넘어서
더 좋은 코드를 만들고 싶은 모든 개발자에게

모든 개발자의 필독서
GoF의 디자인 패턴

단순한 구현을 벗어나 더 좋은 코드를 만들고 싶다면 디자인 패턴에 대한 이해가 반드시 필요합니다.
모든 개발자에게 필독서로 추천하는 GoF의 저서 《디자인 패턴》과 23가지의 디자인 패턴.
현직 마이크로소프트 개발자가 현업에서 사용하는 코드로 모든 디자인 패턴을 알려드립니다.


📢 알려드립니다

  • 원활한 강의 수강을 위해서는 프로그래밍 언어객체 지향에 대한 이해가 필요합니다.
  • 자바와 스프링에 적용된 디자인 패턴을 소개 및 제공하고 있지만 특정 언어에 종속되는 내용은 아닙니다. 다른 언어를 사용하는 개발자도 쉽게 이해할 수 있는 내용이며, 이를 돕기 위해 강의에서 제공되는 코드는 간결하고 직관적으로 작성되었습니다.

디자인 패턴 학습
필요한 사람은?

기초 문법은 배웠는데
이제 뭘 해야 하지?

중급 개발자로 성장을
목표로 하고 있는
초급 개발자라면?

더 좋은 개발자가
되고 싶은데

보다 근본적인 개발
방법론을 공부
해보고 싶다면?

개발 전반 메타 지식을
늘릴 수는 없을까?

어떤 지식을 학습하든
보다 빠르고 효율적인
학습을 원하신다면?

디자인 패턴?
배우고는 싶은데

디자인 패턴 공부가
어렵고 실무와
멀게만 느껴진다면?

우리가 디자인 패턴을
배워야 하는 이유

디자인 패턴은 애플리케이션 개발 시에 마주할 다양한 문제와 패턴을 모아놓은 지식의 산물입니다.
실제로 자바 개발자가 많이 사용하는 스프링 프레임워크에도 전략, 프록시, 어댑터 등 여러 다양한 디자인 패턴을 찾아볼 수 있습니다.
이 강의는 여러분께 디자인 패턴이 어렵고 추상적인 이론이 아니라 이미 우리 가까이에 있다는 것을 알게 해줄 것입니다.

프레임워크 학습
어려움을 겪는다면

스프링이나 리액트, NestJS와 같은 프레임워크에는 고도의 기술과 디자인 패턴이 집약되어있습니다.
프레임워크 학습에 어려움을 느꼈다면 디자인 패턴에 대한 이해가 선행되어야 합니다.
디자인 패턴을 알고 있다면 자바나 스프링뿐 아니라 여러 다양한 기술 및 프로그래밍 언어도 더 쉽게 학습할 수 있습니다.


코딩으로 학습하는
GoF의 디자인 패턴

이 강의에서는 23개의 모든 디자인 패턴을 세 분류로 나누어 다루고 있습니다.
각 패턴이 해결하려는 문제, 적용하는 방법, 장단점, 실무에서 어떻게 적용되는지를 함께 살펴봅니다.

#1.
객체 생성 관련 패턴

  • 싱글톤 패턴
  • 팩토리 메소드 패턴
  • 추상 팩토리 패턴
  • 빌더 패턴
  • 포로토타입 패턴

#2.
구조 관련 패턴

  • 어댑터 패턴
  • 브릿지 패턴
  • 컴포짓 패턴
  • 데코레이터 패턴
  • 퍼사드 패턴
  • 플라이웨이트 패턴
  • 프록시 패턴

#3.
행동 관련 패턴

  • 책임 연쇄 패턴
  • 커맨드 패턴
  • 인터프리터 패턴
  • 이터레이터 패턴
  • 중재자 패턴
  • 메멘토 패턴
  • 옵저버 패턴
  • 상태 패턴
  • 전략 패턴
  • 템플릿 메소드 패턴
  • 방문자 패턴

현직 MS 개발자가 알려주는
실무에서 쓰는 디자인 패턴

디자인 패턴을 보다 쉽게 이해하기 위해 자바 스프링에 적용된 모든 패턴의 예제를 제공합니다.
예제 코드는 Java로 작성되었으며, 본인에게 익숙한 프로그래밍 언어로 바꿔 실습 할 수 있도록 간결하고 직관적으로 작성했습니다.
지금 당장 실무에서 해당 패턴이 어떻게 사용되고 있는지 뿐만 아니라 그와 관련된 다양한 기술도 학습 할 수 있습니다.

강의가 나와 잘 맞을지
궁금하신가요?

이 강의에서 다루는 23개의 패턴 중 세 가지 패턴(싱글톤 패턴, 프록시 패턴, 이터레이터 패턴)은 미리보기로 공개되어있습니다.
수강 전 강의를 미리 들어보신 후 이런 방식의 강의 진행이 본인에게 도움이 될지 판단해 주시기 바랍니다.


GoF디자인 패턴

디자인 패턴 Design Patterns
아마존 기준 평점 4.7/5
객체 지향 소프트웨어 디자인 분야 1위
모든 개발자에게 권장하는 추천 도서 중 하나

GoF (Gang of Four)
《디자인 패턴》의 저자 4인
에릭 감마(Erich Gamma), 리차드 헬름(Richard Helm), 랄프 존슨(Ralph Johnson), 존 블리시데스(John Vlissides)

📢 참고해주세요

  • 해당 강의는 GoF의 저서 《디자인 패턴》에 소개된 23개의 디자인 패턴을 설명하고 있습니다. 개발자로서의 성장을 위해 《디자인 패턴》을 읽는 것을 권장하고 있으나, 강의 수강을 위해 책을 구매하실 필요는 없습니다.

예상 질문 Q&A

Q. 디자인 패턴은 이론적인 이야기 아닌가요? 실무에서 실제로 쓰이나요?

A. 우리가 사용하는 프레임워크들은 모두 디자인 패턴을 사용하고 있습니다. 예를 들어, 자바 개발자가 많이 쓰고 있는 스프링은 디자인 패턴의 집약체라고 말할 수 있을 정도로 다방면에 수많은 디자인 패턴이 적용되어 있습니다. 디자인 패턴을 잘 알고 있다면, 실무에 쓰이는 기술을 학습하는 데도 도움이 될 뿐 아니라 해당 패턴을 여러분 코드에 적용하는 것도 가능합니다. 이 강의에서 실제로 자바와 스프링에 적용된 디자인 패턴을 살펴보시기 바랍니다.

Q. 소스 코드는 어디서 다운 받을 수 있나요?

A. “강의 소스 코드”라는 수업에 소스 코드를 압축해서 올려두었습니다. 해당 코드를 여러분이 자주 사용하는 IDE, 이클립스 또는 인텔리J로 읽어 들여서 살펴볼 수 있습니다. 각 패턴마다 패턴 적용 이전과 이후를 패키지로 나눠놨으니, 강의를 수강하시고 나서 새로운 패키지를 만들고 직접 연습해 볼 수 있습니다.

Q. 자바 기초만 공부한 상태인데 이 강의를 수강해도 될까요?

A. 네, 자바 기초를 학습했다면 본 강의를 수강할 수 있습니다. 물론, 강의 중에 자바 기초에서는 다루지 않는 자바 기술이나 스프링 프레임워크 기술도 소개하지만 디자인 패턴을 학습하는 데 있어서 반드시 필요한 선수 지식은 아닙니다. 이 강의를 수강하시면 앞으로 자바나 스프링을 더 깊게 공부하는 데 많은 도움이 될 겁니다.


이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 중급 개발자로 성장하고 싶은 초급 개발자

  • 좋은 설계 및 코드가 무엇인지 학습하고 싶은 개발자 또는 학생

  • 다양한 디자인 패턴과 그 적용 방법을 학습하고 싶은 개발자 또는 학생

  • 디자인 패턴이 멀게만 느끼지던 개발자 또는 학생

선수 지식,
필요할까요?

  • 자바 기초 지식

  • 객체 지향에 대한 기본적인 이해

안녕하세요
백기선입니다.

수강생 수

90,147

수강평 수

3,998

강의 평점

4.8

강의 수

20

네이버와 아마존을 거쳐 현재 Microsoft에서 시니어 소프트웨어 엔지니어로 일하고 있습니다.

아인슈타인은 "교육이란 사실을 가르치는 것이 아니라, 생각할 수 있는 힘을 기르는 것이다."라고 말했습니다. 그리고 저도 그 말에 깊이 공감하며 강의를 만들고 있습니다.

유튜브:
'백기선' 채널에서 개발자 고민 상담 및 개발자에게 유용한 지식 공유
번역: 스프링 및 하이버네이트 관련 서적 다수 번역
저술: 쉽게 따라하는 자바 웹 개발

커리큘럼

전체

98개 ∙ (11시간 37분)

수업 자료

가 제공되는 강의입니다.

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!