오브젝트 - 기초편
조영호
책임 주도 설계 방법으로 대표되는 객체지향 설계 방법을 학습하고 응집도, 결합도, 캡슐화 관점에서 설계를 트레이드오프하는 방법을 살펴봅니다.
초급
소프트웨어 설계, 객체지향
객체지향 설계 원칙
설계 원칙을 이용해서 코드의 문제점을 파악하는 방법
리팩터링을 통해 코드를 진화시키는 방법
테스트와 코드 품질 사이의 관계
학습 대상은
누구일까요?
객체지향 설계 원칙의 개념과 적용 방법이 궁금하신 분들
객체지향 개념을 코드에 적용하는데 어려움을 느끼시는 분들
좋은 코드를 설계하기 위한 기본적인 원칙과 가이드가 필요하신 분들
선수 지식,
필요할까요?
자바 기본 문법
객체지향 언어를 이용해서 코드를 작성해본 경험
2,229
명
수강생
120
개
수강평
78
개
답변
5.0
점
강의 평점
2
개
강의
객체지향 설계와 도메인-주도 설계에 관심이 많으며 행복한 팀과 깔끔한 코드, 존중과 협력이 훌륭한 소프트웨어를 낳는다는 믿음을 가지고 있는 평범한 개발자입니다. 개발자, 교육자, 관리자를 오가며 익힌 다양한 경험을 바탕으로 좋은 코드와 함께 좋은 프로덕트를 만들기 위해 노력하고 있습니다.
저서로는 『객체지향의 사실과 오해』와 『오브젝트』가 있고 번역서로는 『엘레강트 오브젝트』가 있으며 『만들면서 배우는 클린 아키텍처』에 감수자로 참여했습니다.
💡개인블로그 : https://eternity-object.tistory.com/
전체
33개 ∙ (6시간 16분)
해당 강의에서 제공:
전체
28개
5.0
28개의 수강평
수강평 14
∙
평균 평점 4.9
5
첫 수강평을 남기게 되어 영광이네요. <오브젝트 - 기초편> 이후 바로 <오브젝트 - 설계원칙>편까지 모두 수강하고 수강평을 작성합니다. 강의의 장점이라 한다면 아래와 같습니다. 1. 원칙만 나열하는 것이 아닌 실제 코드 예시가 있기에 직관적으로 이해할 수 있습니다. ㄴ SOLID 원칙은 자주 접하기에 알고 있다고 생각했는데 강의를 보니 저의 착각이라는 걸 알 수 있었습니다. 2. <오브젝트 - 기초편>보다 편의성이 증가되었습니다. ㄴ 수업 자료를 통해 관련 레포 링크가 제공되어 접근하기 편합니다. ㄴ 지식공유자님이 사라지셔서 프리젠테이션을 보기가 한결 좋아졌습니다. 다소 아쉬운 부분도 존재합니다. (사소합니다.) 1. 영상마다 볼륨 수준이 달라 약간 신경이 쓰입니다. 2. 영상에 오류가 있는 경우도 있습니다. 3. '되게 됩니다.' 같은 구어체 말투가 정돈되면 더 깔끔할 것 같습니다. 4. 외래어 표기법이 다른 경우가 있는데(e.g. 메서드/메소드) 이 부분도 통일되면 좀 더 깔끔할 것 같습니다. <오브젝트 - 기초편>도 꼭 보는 것을 추천합니다. 더 폭 넓게 강의를 이해할 수 있습니다. 객체지향 설계가 무엇인지 모른다면 본 강의를 강력 추천합니다. 제 주변에도 많이 추천할 예정입니다 ㅎㅎ 좋은 강의를 기획해주신 조영호님께 감사드립니다. 앞으로 제 코드가 많이 달라질 것이 기대됩니다. 적게 일하고 많이 버세요 ㅎㅎㅎ
choiseonmun님 최근에 오브젝트 - 기초편에 수강평을 남겨주신게 기억이 나는데 벌써 완강하셨군요. 완강 축하드리고 수강평 남겨 주셔서 감사합니다. :) 강의가 도움이 되셨다니 다행입니다. 제 얼굴은 많은 지인분들의 요청으로 빼기로 했는데 반응이 좋아서... 다행이네요. 건강 상의 이유로 촬영 기간이 길어지면서 볼륨이 조금씩 다른 문제가 발생했는데 불편하다는 분들이 계시면 향후에 오브젝트 - 기초편과 함께 재녹음을 해보는 것도 고려해 볼게요. :) 혼자 강의 제작, 촬영, 편집을 하고 있는데 이번 강의는 발표자료가 생각보다 많아져서 중간중간 체크한다고 했는데 인지하지 못한 부분이 있나보네요. 이 부분은 꼼꼼하게 체크하지 못하고 출시한 점 죄송하다는 말씀 드립니다. 저도 한번 다시 점검하면서 최대한 빨리 수정하겠습니다. :) 혹시 편하실 때 영상에 오류나 장표의 일관성 부분 제보해 주시면 최대한 빠르게 수정해서 업데이트하겠습니다. 적게 일하고 많이 벌자는 말이 마음에 와닿네요. 강의가 유지보수에 드는 비용을 줄이고 코드 품질을 높이시는데 도움이 되면 좋겠네요. 감사합니다!
수강평 1
∙
평균 평점 5.0
5
감사합니다. 감사합니다. 정말 감사합니다. 내 인생 통틀어 최고의 강의. 처음으로 수강평 남깁니다. 정말 잘 들었습니다. 다음 강의 계획중이신게 있나요?
orc님 좋은 수강평 남겨 주셔서 정말 감사드립니다. 강의 끝까지 들어주시고 수강평까지 남겨주셨는데 제가 더 감사하죠. 이번 강의 만들 때 이런저런 일로 마음 고생이 많았는데 최고의 강의라는 평을 듣고나니 고생이 싹 가시는것 같네요. 다시 한번 감사드립니다. 아직 최종 결정은 하지 못했지만 다음 강의는 의존성 관리, 디자인 패턴, 단위 테스트 중에서 한 가지 주제로 만들어볼 계획을 잡고 있습니다. 현재 기준으로는 기초편과 설계 원칙편과 이어지는 의존성 관리편을 만드는 것으로 생각하고 있습니다. 다음 강의까지 관심 가져주셔서 감사드리고 행복한 나날 보내세요!
수강평 3
∙
평균 평점 5.0
5
영화를 보는것 처럼 흥미진진하게, 설계에 대한 이야기가 이어지네요~ 계속 잘 들어보겠습니다~ 좋은 강의 감사합니다 bb
Byung-mo Kim님 수강평 남겨 주셔서 감사합니다. 예제를 개선시키면서 설계 원칙을 적용해 나가는 흐름으로 구성했는데, 재미있게 보고 계신가 보네요. :) 뒷부분으로 가면서 난이도가 조금 올라가지만 더 재미있는 내용들이 기다리고 있으니까 꼭 완강하시기 바랍니다. 궁금한 부분이나 수정할 부분 있으면 언제라도 문의주시구요. 불금 보내시고 행복한 나날 보내세요.
수강평 2
∙
평균 평점 5.0
5
강의 내용은 좋고, 질문답변에도 다이어그램까지 그려가주시면서 이해시켜주시려고 해주시는 점에 감동받았습니다! 너무 좋은 강의에 감사드립니다. 다만, 라이브코딩으로 진행하지 않기 때문에 수강생이 불필요한 에너지 소모가 발생하는 점이 아쉽습니다. 강의를 보며 느꼈던 라이브코딩이 아니어서 에너지 소모가 발생하는 점은 아래와 같았습니다. 1. ppt나 자료에서 예상치 못한 코드 누락이 발생하는 점. 라이브코딩이었다면 IDE에서 에러를 잡아주기 때문에 문제가 없었을 것 같습니다. 2. 강의 중간에 변화되는 메서드는 보여주셨지만 생성자는 어떻게 변하는지 궁금해 코드를 보면서 하려고 했으나, 제공된 코드는 해당 회차 종료 시점의 완성된 코드이므로 코드가 다릅니다. 3. 코드의 패키지를 나누는 것에 대한 내용이 생략되고 완성 코드에만 나와있습니다. 눈으로 보기만 하며 이해하는 수강생들의 입장은 모르겠지만, 코드를 쳐가면서 강의를 듣는 입장에서는 이런 점들이 불편했습니다. 다회차로 복습으로 들을 때는 괜찮지만, 강의를 이해하는 것 이외에 에너지 소모가 된다는 점이 아쉬웠습니다. 한 마디로 vod 강의의 이점을 이용하시기보다는 좋은 책을 쓰시고 읽어준다는 느낌이었습니다. 하지만 강의 내용 자체는 훌륭했으므로 좋은 강의를 제공해주신 강사님께 감사드립니다.
김철준님 안녕하세요. 좋은 수강평 남겨주셔서 감사합니다. 강의자료 한장 한장 만드는게 너무 힘들었는데 높게 평가해주셔서 감사합니다. 🙂 오랜 기간 강의를 하다보면 수강생분들마나 취향이 다양하다는 걸 느낄 수 있습니다. 오프라인 강의를 선호하시는 분도 계시고, 온라인 강의를 선호하시는 분도 계시고, 라이브 코딩 대신 강의식을 선호하시는 분도 계십니다. 따라서 수강생분들은 강의를 선택하실 때는 개인의 취향에 따라 적절한 강의를 선택하시는게 중요하고 강사는 개인마다 다른 취향과 강의에 적합한 포맷을 선택하는 것 사이에서 고민하게 됩니다. 객체지향 - 설계 원칙의 핵심은 코드가 아니라 매순간 개발자가 어떤 기준에 따라 사고하고 어떻게 트레이드오프를 하는지를 전달하는게 목적입니다. 그리고 설계는 클래스 하나, 메서드 하나 단위로 이루어지기 보다는 하나 이상의 클래스에 걸친 책임의 분배와 의존성의 관리가 핵심입니다. 여기에서 라이브 코딩의 문제는 한 시점에 수강생분들의 시야를 하나의 클래스, 또는 하나의 메서드로만 제한한다는 점입니다. 따라서 설계를 논하기 위해서는 가급적이면 다수의 클래스에 대한 변화와 관계를 시각적으로 보여주는게 훨씬 유용하죠. 함께 수정되는 클래스가 많아지면 많아질 수록 수강평에서 말씀하신 라이브코딩으로 진행하지 않기 때문에 발생하는 불필요한 에너지 소모보다 중간 중간 코드의 변화에 따라 어떤 클래스가 어떻게 영향을 받는지 전체적인 구조를 파악하는 에너지가 훨씬 더 커지게 되는거죠. 따라서 수강생분들이 설계의 흐름을 이해하시는데 들어가는 에너지를 줄일 수 있는 방식으로 강의를 구성했다고 보시면 좋을것 같습니다. 말씀하신 단점보다 이 장점이 훨씬 크기 때문에 현재의 방식을 선택했습니다. 🙂 앞에서 말씀드린 것처럼 사람마다 취향이 다르고 아마도 김철준님의 경우에는 처음부터 끝까지 라이브 코딩으로 진행되는 강의에 익숙하시고 취향에 맞으시는 것 같아요. 제 강의도 오브젝트 - 기초편처럼 라이브 코딩이 추가되기도 하겠지만 설계가 주제인 경우라면 현재의 포맷을 중심으로 두고 라이브 코딩을 추가하는 방식이 될 예정입니다. 강의 방식에 대한 소중한 의견 주신 점은 감사드립니다. 앞으로도 더 나은 강의를 위해 고민해보겠습니다. 현재 방식이 김철준님의 학습 스타일과 완전히 맞지 않더라도, 설계 원칙 자체는 분명 도움이 되실 거라 생각해요. 혹시 라이브코딩 방식에 더 익숙하시다면, 보완적으로 그런 강의들도 함께 들어보시는 것도 좋은 방법일 것 같아요. 행복한 한 주 시작하시고 항상 성장하시는 나날 되세요!
수강평 2
∙
평균 평점 5.0
수정됨
5
기초편에 이어 객체지향에 관한한 최고의 강의 같습니다. 개념부터 예제까지 짜임새 있는 내용들로 구성되어 있어 아주 충실합니다.
soljie74님 수강평 남겨주셔서 감사드립니다. 오브젝트 - 기초편에서 객체지향적인 코드를 작성할 수 있는 방법을 설명했다면, 오브젝트 - 설계 원칙편에서는 객체지향적인 설계로 개선할 수 있는 방법을 설명하려고 노력했는데 도움이 되셨다니 다행이네요. 궁금한 부분이나 수정할 부분 있으면 언제라도 문의주세요. 완강 축하드리고 주말 잘 마무리하세요!
2025 추석맞이 감사할인 중
월 ₩16,500
5개월 할부 시
25%
₩110,000
₩82,500
지식공유자님의 다른 강의를 만나보세요!
같은 분야의 다른 강의를 만나보세요!