인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
BEST

Readable Code: 읽기 좋은 코드를 작성하는 사고법

이 강의를 통해 클린 코드 원칙에 대한 깊은 이해를 하고, 객체 지향 사고 방식에 입각한 깔끔한 코드를 작성할 수 있게 됩니다. 클린 코드와 객체 지향이 궁금한 분, 코드를 정말 잘 짜고 싶은 모든 분들을 위한 강의입니다.

초급자를 위해 준비한
[백엔드, 클린코드] 강의입니다.

이런 걸 배울 수 있어요

  • 읽기 좋은 코드를 작성하기 위한 사고방식

  • 지켜야 하는 이유부터 깊게 이해하는 클린 코드 원칙

  • 코드 레벨에서 맛보는 객체 지향 패러다임, SOLID 원칙

  • Value Object, 일급 컬렉션, Enum과 다형성 등 객체 지향 활용법

  • 엉망인 코드를 좋은 코드로! 점진적 리팩토링과 구조 설계

2

저 사람은 코드를 되게 잘 짜네.
어떻게 저런 코드를 작성하는 걸까? 🤔

어떤 사람의 코드를 보고 '와 잘 짰다' 라고 느낄 때가 있습니다.
우리가 '코드를 잘 짠다' 라고 표현하는 것은 사실 '코드가 잘 읽힌다' 라고 느끼는 것과 같은 맥락인데요.

결국 코드라는 것은, 남들이 보았을 때 가독성 있게 작성할 수 있느냐가 관건입니다.
단순히 코드 스타일을 잘 작성하는 것을 넘어서, 읽는 사람에게 잘 읽히도록 구조를 설계하는 역량이 핵심인 것이죠!

클린 코드(clean-code) 원칙, 들어는 봤는데
무슨 말인지, 왜 지켜야 하는지 잘 와닿지 않아요. 🧐

클린 코드는 로버트 C. 마틴(Robert C. Martin)이 저술한 동명의 책을 통해 널리 알려진 용어입니다.
코드의 유지보수성을 높이고, 협업을 용이하게 하며, 개발자들이 더 나은 코드를 작성할 수 있게끔 하는 여러 지침을 담고 있는데요.

다만 이런 지침들에 대한 깊은 이해 없이, 맹목적으로 지키기만 하는 법칙으로만 남아 강요되는 경우를 많이 보았습니다.
이 강의에서는 클린 코드 원칙을 내 것으로 만들기 위해 '추상(抽象)'이라는 기반 개념에서부터 출발하여, 좋은 코드를 작성하기 위한 사고방식을 하나씩 소개합니다.

객체 지향 프로그래밍, 개념을 배우기는 했는데
그래서 어떻게 적용하라는 걸까요? 😵‍💫

캡슐화, 추상화, 상속, 다형성, 그리고 SOLID 원칙까지.
객체 지향 개념을 면접 준비를 위해 달달 외우기만 하셨나요?

이론으로만 받아들인 개념은 코드 레벨에서 즉각적으로 나타나기 어렵습니다.
이 강의에서는 복잡하고 엉망인 코드를 조금씩 리팩토링 해나가면서, 객체 지향 패러다임을 어떻게 이해하고 적용해야 하는지를 코드 레벨에서 낱낱이 보여줍니다.

이 강의에서는 📖

읽기 좋은 코드를 작성하는 사고방식

단순히 클린 코드 원칙을 나열하면서 '~해라', '~하지 말아라' 하는 지침을 소개하는 강의가 아니라, 코드를 작성하는 내가 능동적으로 사고하면서 원칙을 적용할 수 있도록 이해를 기반으로 하여 설명합니다.

코드 레벨에서 맛보는 객체 지향 패러다임

[객체를 설계하는 접근법, SOLID 원칙]부터 [Value Object, 일급 컬렉션, Enum, 다형성] 등의 활용법까지.
지금까지 이론으로만 알아왔던 객체 지향에 대해 코드 레벨에서 자세하게 살펴봅니다.

엉망인 코드를 더 나은 코드로 리팩토링하는 경험

순수 자바로 만들어진 2개의 예시 프로젝트를 제공합니다.
엉망인 코드를 점점 더 나은 코드로 하나씩 리팩토링하면서, 실무에서도 적용할 수 있는 리팩토링 경험을 제공합니다.

머릿속에 남는 키워드 정리

첫 번째 섹션부터 마지막 섹션까지 흐름이 중요한 강의이기 때문에, 섹션별로 키워드 기반의 내용 정리를 제공합니다.
듣고 휘발되는 강의가 아니라, 여러분 머릿속에 남아 체화되는 강의가 되기 위함입니다.

상세한 설명과 장표, 직접 따라치며 이해하는 예시 프로젝트

주제별 핵심 포인트와 이해를 돕기 위한 여러 그림을 제시하고, 개념 설명 이후에는 예시 프로젝트를 통한 코딩을 진행합니다.
처음부터 끝까지 코드를 직접 따라 작성하고 리팩토링하면서 이해도를 높일 수 있도록 구성하였습니다.

이런 분들께
추천합니다 🙌🏻

백엔드 개발자로
취업을 준비하는 분

클린 코드와 객체지향에 대해
깊게 알고 싶은 분

깔끔하고 좋은 코드를
작성하고 싶은 주니어 개발자

커리큘럼을
확인해 보세요

Q&A 💬

Q. 선수 지식이 필요한가요?

이 강의는 순수 자바로만 진행되기에, 기본적인 자바 문법에 대해서만 잘 알고 계시면 됩니다.
자바 11 이상의 문법이면 충분하고, 혹 잘 모르는 내용이 나오더라도 같이 학습해나가면 좋을 것 같아요. 🙂

Q. 실습 환경이 궁금해요!

실무에서 개발하는 것과 최대한 동일하게 보여드리기 위해 기본적으로 IntelliJ Ultimate 라이센스를 사용합니다.
macOS를 사용하고 있는데, 다른 운영체제를 사용하시는 분들이 참고하실 수 있도록 IntelliJ 단축키 플러그인을 적용했어요.
자세한 내용은 공개된 강의를 참고해 주세요. :)

Q. 순서 상관 없이 원하는 섹션을 먼저 수강해도 될까요?

이 강의는 하나의 큰 흐름 안에서 점차 발전해가는 코드를 보여드리며, 앞 내용을 기반으로 뒷 내용을 계속 이어나가기 때문에, 첫 강의부터 순차적으로 학습하시는 것을 추천합니다. :)

수강평 미리 보기

* 아래 수강평은 지식공유자의 테스트 코드 강의에 대한 수강평입니다.

★★★★★

24/01/09 완강했습니다.
정말 너무너무너무 좋은 강의를 들을 수 있어서 얼마나 다행인지 모르겠습니다. 어디서부터 어떻게 시작하고 어떻게 공부해야될지 몰랐었는데 강의를 통해 정리가 되었다는 점이 너무나도 감사하게 다가옵니다. 단 한개의 강의도 대충 찍으신게 없고 정성들여 이 강의를 만들었다는 것이 느껴졌습니다. 앞으로 더욱더 많은 강의들을 수강하고 배우고 싶어집니다. 앞으로도 좋은 강의 많이 찍어주셨으면 좋겠습니다. 감사합니다!!!!

- le***

★★★★★

테스트 관련해서 가려운 곳을 정말 벅벅 긁어주시는 강의 였습니다. 혼자 공부하는데 테스트 코드 관련해서 피드백을 받을 수 있는 곳이 없다보니 IT동아리나 교육프로그램의 프로젝트 레포 여러개를 뒤져가면서 테스트 코드는 어떻게 짜야할지에 대한 고민을 하고 있었는데 강의 통해서 정말 도움이 많이 됐습니다. 이제 방향과 방법을 어느정도 알았으니 스스로 익히고 제것으로 만들어야하는 단계가 남았네요. 좋은 강의 감사드립니다. 강의 준비를 엄청 신경써서 하신게 느껴졌습니다. 감사합니다.

- Ja***

★★★★★

항상 프로덕션 코드를 작성하면서 테스트에 대한 고민이 많았는데, 코드와 함께 쉽게 알려주셔서 정말 재미있게 학습했습니다. 테스트에 대해 아예 모르시는 분들도 이해할 수 있을만큼 뛰어난 흡수력을 제공하는 좋은 강의라고 생각합니다! 좋은 강의 감사합니다ㅎㅎ

- si***

★★★★★

2023년 들은 모든 강의중에 가장 도움되고 주변에 알리고 싶은 강의였습니다. 여러 스프링 강의에서 테스트코드의 중요성을 말하고, 대략적인 assertThat만 사용하였는데, 여러 도구와 도구 사용 방법과 같이 제가 원하던 내용만 들어가 있는 강의였습니다.

- ri***

★★★★★

★ ☆ ★ 수강평을 남길 수밖에 없는 강의! ★☆★ 항상 테스트가 두렵고, 어렵게 느껴져 작성하지 않았습니다. 하지만, 이제는 테스트가 그렇게 어렵고 두려운 존재라는 게 아니라는 걸 알게 되었습니다. 다른 분들도 이 강의를 수강하시고 테스트에 대한 두려움을 이겨내시면 좋겠습니다. 우빈님의 강의가 집중도 잘되고 이해하기 쉽게 잘 설명해 주시네요. 다른 강의도 계획 중이신지 궁금합니다. 감사합니다.

- 눌***

★★★★★

Test Code를 왜 짜야하는지 그 정의와 필요성 그리고 실제로 실무에 어떻게 적용해야 할지 기본이 되는 강의를 아무리 찾아도 찾기 힘들었는데 그 탐색의 도착지가 여기였던 것 같습니다.
너무나도 기본과 실무에 필요한 강의, 비싸고 트렌디한 많은 강의보다도 이 강의가 지금까지 들어본 최고의 강의였던 것 같습니다.
감사합니다.

- 이***

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 클린 코드를 기반으로 하는 사고법이 궁금하신 분들

  • 그동안 객체 지향 개념을 텍스트로 달달 암기하기만 하신 분들

  • 코드를 정말 잘 짜고 싶은 모든 분들!

선수 지식,
필요할까요?

  • Java 기본 문법을 알고, 프로그래밍을 해보신 분들

안녕하세요
박우빈입니다.

5,125

수강생

344

수강평

361

답변

4.9

강의 평점

5

강의

안녕하세요 ☺️
몰입을 즐기는 개발자, 박우빈입니다.

  • (현) 캐치테이블(와드) 소프트웨어 엔지니어

  • (전) 우아한형제들 소프트웨어 엔지니어

  • 우아한테크코스 3기, 4기 리뷰어 / 우아한테크캠프pro 1기 리뷰어 / 그 외 다양한 리뷰어 활동

더보기

커리큘럼

전체

55개 ∙ (14시간 1분)

해당 강의에서 제공:

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

수강평

전체

100개

5.0

100개의 수강평

  • 비가싫어요님의 프로필 이미지
    비가싫어요

    수강평 6

    평균 평점 4.7

    5

    100% 수강 후 작성

    테스트 강의에 이어 이번 강의까지 정말 개발 잘 하는 사수, 친한 형이 알려주는 느낌이 드는 아주 좋은 강의였습니다. 저는 비전공(문과 계열)자인데요, 대학에서 좋은 글과 좋은 답안은 어떤 것인가에 대해 교수님이 해주신 말씀이 늘 기억에 납니다. 바로 쓰는 사람이 아니라 읽는 사람 입장에서 써야 한다는 것이었습니다. 이 원칙을 현재 개발을 공부하고 취업을 준비하는 과정에서도 늘 코드에 녹여내고 싶었습니다. 이 강의는 이런 제 생각이 틀리지 않았다는 걸 인정해 준 것 같은 강의입니다. 동시에 제가 더 나은 개발자가 되기 위해 보완해야 할 부분이 무엇인지 명확히 제시해준 정말 명쾌한 강의입니다. 단순히 자바, 코틀린 혹은 다른 객체지향 언어를 사용하고 스프링을쓰면 '난 객체지향적으로 개발 중이야' 라고 생각하시는 분들께 정말 강추드리는 강의입니다. 혹은 이전에 공부한 SOLID 원칙, 객체지향원칙 등이 코드에 잘 적용되어 있지 않다고 느끼는 분들이 들으면 시야가 정말 트이는 강의라고 감히 말할 수 있을 거 같습니다. 객체지향적인 부분 뿐 아니라 강의 제목처럼 읽기 쉬운 코드는 어떤 것인가에 대한 명쾌한 답이 담겨져 있습니다. 협업하는 과정, 그리고 이전에 작성한 코드를 다시 읽는 과정에서 도움이 될 만한 내용이 정말 많이 담겨져 있습니다. 강의를 듣고 나니 왜 이렇게 개발자들이 이름 짓기를 어려워 하는 지 조금은 이해가 가는 것 같습니다 이름 짓기를 너무 쉽게 하고 계시다면 이 강의를 들으셔야 합니다! ㅎㅎ 강의에서 다루는 컨텐츠는 당연히 말할 것도 없이 너무 훌륭하고, 각 챕터에서 설명 역시 군더더기 없이 너무 깔끔하고 이해가 잘 되게 설명해주십니다. 정말정말 좋은 강의라고 생각합니다. 꼭꼭 들어보시는 걸 추천드립니다!

    • 박우빈
      지식공유자

      부서진 나침반 님~! 아니 이렇게 정성스러운 수강평이라니 🥲 야근하는 도중에 수강평 내용을 보고 얼마나 기뻤는지 모릅니다. 제가 전달드리고 싶었던 내용이 명확하게 잘 전달된 것 같아 정말 기쁘네요 ㅎㅎㅎ 감사드리며, 앞으로의 학습 여정도 응원하겠습니다 ☺️

  • 파트라슈님의 프로필 이미지
    파트라슈

    수강평 2

    평균 평점 5.0

    5

    7% 수강 후 작성

    지난 번 테스트코드 강의에 이어 느끼지만, 군더더기 없는 명료한 설명, 적재적소에 걸맞는 예시까지 이해도를 높이는 구성입니다. 로버트마틴의 클린코드를 읽다가 몇번 포기했기도 했는데, 이번에 이 강의 보고 다시금 힘을 얻어 정독해보려합니다. 감사합니다. 계속 좋은 강의 부탁드려요!

    • 박우빈
      지식공유자

      아이고 파트라슈님 멍멍! 언제나 전폭적인 지지 감사합니다 ㅋㅋㅋ 🙇

  • dbcksrla님의 프로필 이미지
    dbcksrla

    수강평 5

    평균 평점 5.0

    5

    58% 수강 후 작성

    2년전 제가 신입 시절에 작성한 코드를 보고 열이 받아서 리팩토링을 할려고 하는데 답이 없네요.. 그래서 테스트 코드 강의를 너무 인상깊게 봐서 믿음을 갖고 공부중인데 왜 이걸 지금 봤나 원망스럽네요... 요즘 번아웃 왔는데 덕분에 리팩토링 하면서 요즘 개발하는 시간이 재밌어졌어요 구체적 수준에서 단순히 기능을 정의하는 자신을 되돌아봤을 때 `이정도면 좀 하는거 아닌가?` 라고 생각했던 자신이 부끄러워졌습니다. 그냥 지금부터 경력 지우고 0년차 라는 마인드로 다시 공부하겠습니다. 감사합니다. 다음 강의 나오면 제발 알림이든 뭐든 연락주세요 제발제발

    • 박우빈
      지식공유자

      dbcksrla 님~! 아이고 이런 마음들이 모여서 코드를 잘 작성하고자 하는 좋은 원동력이 되는 것 같아요 ㅎㅎ 저도 마찬가지고요! ㅋㅋ 상세한 수강평 감사드리고, 다음 강의는 열심히 또 고민해보도록 하겠습니다 ㅎㅎㅎ 앞으로의 여정도 응원하겠습니다 ☺️

  • 동팔이님의 프로필 이미지
    동팔이

    수강평 14

    평균 평점 5.0

    5

    100% 수강 후 작성

    이전부터 클린코드에 관심이 많았고 읽기 좋은 코드를 작성하려고 노력했습니다. 하지만 이 강의를 듣고 저는 '클린 코드에 살짝 발만 담근 정도였구나'라는걸 느낄 수 있었습니다. 테스트 코드 강의부터 이번 강의까지 저의 역량 강화에 정말 많은 도움을 받았습니다. 배운것을 기반으로 이전에 완성했던 프로젝트를 리팩토링 해보며 체득해보는 과정을 가져보려고 합니다. 정말 좋은 강의 감사합니다! 다음 강의도 기대하고 있겠습니다!

    • 박우빈
      지식공유자

      동팔이 님~! 제가 드리고 싶었던 내용들이 다 잘 전달된 것 같아 기쁘네요 ㅎㅎㅎ 모쪼록 이번에 얻어가신 것들을 기반으로 앞으로도 좋은 코드 같이 만들어나가면 좋겠습니다. 소중한 수강평 감사드려요! ☺️

  • 하승수님의 프로필 이미지
    하승수

    수강평 6

    평균 평점 5.0

    5

    56% 수강 후 작성

    강의 내용 너무 좋고 다 좋은데... 타이핑이 진짜 너무 빠르세요 치고 있으면 갑자기 다른 곳에 가있고 이러니 계속 멈춰가면서 따라 치는데 뭔가 계속 너무 빨리빨리 진행이 되어서 내가 뭘 하고 있는 건지 몸에 와닿지 않는 느낌이 드네요

    • 박우빈
      지식공유자

      하승수 님~! 아이고 강의 시간을 최대한 줄여보려고 하다보니.. 다음 강의에는 조금 더 신경써 보겠습니다! 수강평 감사드리며, 앞으로의 여정도 응원하겠습니다 ☺️

비슷한 강의

같은 분야의 다른 강의를 만나보세요!

₩55,000