강의 내용에 대한 소견
우선 강의의 원제는 "개체"지향 프로그래밍 및 설계 (JAVA)가 맞다.(오타 아니다)
객체라는 단어가 적확하지 않다는 포프님의 의견을 반영하여 개체지향이라고 하고 있고 실제로 수업에서도 객체라는 단어 대신에 개체라는 단어를 사용한다. 하지만 이 글을 읽는 사람들이 눈에 익숙한 객체라는 단어를 사용하겠다.
어느덧 프로그래밍을 공부한지 3년이 넘었는데 가장 아리송한 부분을 꼽으라고 한다면 객체지향스럽게 짠 코드가 무엇인가 하는부분이다.
그 동안 내 손을 거쳐간 객체지향 관련 책들을 보자면..
1) 헤드퍼스트: 객체 분석 & 디자인
2) 헤드퍼스트: 디자인패턴
3) 객체지향의 사실과 오해
등등
객체지향을 주제로 다루는 책들만 5권은 읽은 것 같은데 그럼에도 애매한 것이 객체지향이고, 아마 이런 막막함은 다들 느끼는 기분일 것으로 예상한다.
그간의 포큐 아카데미 강의가 항상 그래왔듯 그리 많은 것들을 가르쳐주진 않는다. OOP의 4대 개념(추상화, 캡슐화, 상속, 다형성) 을 충실히 가르치고 약간의 디자인패턴은 가볍게 건드린다. 하지만 기존 OOP 책들이 다루던 것보다 아주 약간 어려운 예제와, 여러 가지를 생각하게 만드는 실습/과제를 통해 항상 애매하게 다가오던 개념들을 근육에 새겨넣을 수 있다.
또한 항상 뚜렷한 자기 주관을 가지고 무엇이 정답에 가까운지 단호하게 얘기하는 포프 강사님의 강의스타일 덕분에 모두가 중구난방으로 떠들어대는 OOP 개념의 홍수 속에서 중심을 잡을 수 있게 도와주는 것은 단연 최고의 장점이라고 할 만 하다.
C++에 이어 강의 자체에는 정말 불만이 거의 없는 강의가 나왔다. OOP를 처음 배우는 사람은 처음 배우는 대로, 어느정도 OOP를 경험해 본 사람은 그 사람대로 얻어갈 것이 많은 강의이다. 거의 모든 면에서 내 OOP 코드는 이전보다 좋아졌다.
자세한 과정 소개는 아래 페이지를 참고:
https://pocu.academy/ko/Courses/COMP2500
개체지향 프로그래밍 및 설계 (Java) - POCU
정규 학기 ₩800,000 (학기) + ₩220,000 (동영상 강좌) 총 가격: ₩1,020,000
pocu.academy
만족스러웠던 점
1) OOP 공부한다고 했던 것들이 헛짓이었음을 깨닫게 해준다..
강의 도중 팩트폭행을 심하게 당한 부분이 있었는데, 실력 없는 사람들이 날로 먹으려고 디자인패턴 책만 본다는 그런 얘기였다.
설계실력은 실전에서 힘들게 사고하며 훈련하면서 얻어지는 것이지 남이 정리해놓은 책을 보고서 얻는 것이 아니다.
디자인패턴은 건축설계와 종종 비교되는 듯 한데, 건축가가 설계책만 보면 간축설계를 잘 할 수 있을까?
당연한 이치를 왜 아직까지 깨닫지 못했는지 모르겠다. 자기와 관련된 일이면 역시 판단력이 흐려지나보다..
2) OOP에는 항상 들어맞는 정답이 없음을 알려준다.
SOLID 원칙대로 설계하면 항상 좋은 코드가 나올까?
그렇지 않다. 상황에 따라 다르다.
더불어 다음과 같은 주제에 관해서 스스로 대답할 수 있는 힘을 길러준다.
a) 언제 상속을 쓰고 언제 컴포지션을 쓸까?
b) OOP의 4대 개념은 무엇이고 어떤 이유에서 중요한가?
c) 추상클래스는 언제 쓸까?
d) 인터페이스는 언제 쓸까?
e) 어떤 OOP 개념을 사용하기로 했다면 얻는 것은 무엇이고 잃는 것은 무엇인가?
( ex) 생성자 주입의 장단점. 다형성을 이용한 추상화의 장단점 등..)
3) 디자인 패턴의 공부법을 알려준다.
a) 특정 패턴을 봤는데 완전히 새롭다면 아직 공부가 덜 된 것이다.
b) 디자인패턴 책은 패턴의 중요성을 강조하기 위해서 쓸데없이 복잡한 예제를 준비하는 경우가 많은데,
어떻게 핵심을 분리해서 문제를 작게 만드는지 배울 수 있다. 핵심을 정확히 파악하면 확장은 쉽다.
불만족스러웠던 점
한 강사가 가르치는 만큼 강의간 중복을 최소화한다고 했는데 몇 강의 듣지 않았는데 중복된 내용에 시간이 꽤 할당되서 아쉽다.
에러코드 vs 예외처리, 경계에서의 충분한 검사를 통한 튼튼한 프로그램 만드는 방법 등의 내용은 앞으로의 강의에서는 안나왔으면 좋겠다.
이 강의만 듣는 사람이라면 피가 되고 살이 되는 내용이긴 하다..
강사인 포프님을 좋아라하는 사람들이 모이기 때문일까, 강의에 불만을 표출하는 사람은 항상 극소수였는데 예외적으로 슬랙방에서 실습/과제에 대한 불만이 많이 터져나왔다. 여러모로 실습/과제가 수강생에게 많이 교정받았는데, 이번학기 수강생들은 정말 Beta라는 것을 많이 체감했던 한 학기였다.
그리고 강의에 대한 불만은 아니지만 시험 문제가 좀 별로였다는 생각이 든다. 포큐 특유의 코드 에러잡기 문제가 많이 나왔는데, 다른 과목에서는 개념을 정확히 알아야 올바른 대답을 할 수 있어서 의미있는 문제유형이라는 생각을 했으나, 이번 과목에서는 키워드 숨바꼭질하는 느낌이 강했다.
수강신청 시 고려사항
주관성이 강한 과목인만큼 실습/과제가 순조롭게 진행될까 했는데 역시나 여러가지 이유로 많은 학생들이 고전했고, 여타 과목에서 고득점을 받았던 학생들도 예외는 아니었다. 시험도 쉬운 편은 아니었던 만큼 통과하는게 목표인 사람은 충분한 여유시간을 확보하고 강의를 들어야 할 것 같다.
지구 최고수준의 OOP강의이니만큼 이미 상당한 수준의 OOP 숙련자가 아니라면 모두에게 강추한다.
전반적인 강의만족도는 9 / 10 점 (아마 실습/과제가 정비되었다면 10점)
'프로그래밍 강의 후기' 카테고리의 다른 글
포큐 아카데미(POCU) 알고리듬 및 자료구조 강의 후기 (1) | 2021.08.21 |
---|---|
포큐 아카데미(POCU) 소프트웨어 공학용 수학 후기 (1) | 2019.12.22 |
포큐 아카데미(POCU) C 언매니지드 프로그래밍 후기 (0) | 2019.12.22 |
[POCU] 포큐 아카데미 c++ 프로그래밍 강의 후기 (4) | 2019.04.23 |
패스트캠퍼스 웹프로그래밍 스쿨 후기 (1) | 2019.04.23 |