티스토리 뷰
아래의 질문들에 대답할 수 있는가?
기본 개념을 제대로 알고 있는 개발자와 그렇지 못한 개발자는 말과 행동에서 구분이 된다.
제대로 알고 있지 못한 개발자는
- 상사가 시키는 대로만 한다.
- 개념은 대충 말로 설명할 줄 아는데 이를 코드로 작성 못한다.
- 상사 또는 아는 지인이 좋다고 한 방법을 그대로 사용한다.
- 좋다고해서 사용하게 된 기법이나 패턴들에 대해 설명하지 못한다. (이해하지 않고 사용한다.)
- 사용하고 있는 기법들에 대해 장단점을 말하지 못한다.
- 왠지 모를 불편함과 답답함을 느끼지만 평소에 사용해왔던 방식이니 어쩔 수 없이 계속 사용한다.
POCU 아카데미의 'COMP 2500 개체지향 프로그래밍 및 설계 (java)' 강의에서는 아래의 질문에 명확히 대답할 수 있도록 알려준다. 더욱이 개념뿐만 아니라 실제로 개발자가 스스로 '설계'와 '프로그래밍'을 할 수 있도록 가르친다.
- 개체지향 프로그래밍(OOP)이 필요한 이유
- 피해야 할(또는 조심해야 할) 특정 방법론 극찬양론자 유형들
- 클래스(class)와 개체(instance)
- 참조형(ref)과 포인터(pointer)
- 생성자(contructor)의 필요성과 장점
- 접근 제어자(access modifier)의 종류들에 대해 설명하고 각각 어떤 상황에서 사용해야 하는지?
- *캡슐화(Encapsulation), (데이터) *추상화(Abstraction) 개념을 설명 할 수 있고 예시를 들어 설계 및 프로그래밍 할 수 있는가?
- 유연성과 재사용성 / static 사용법 (변수, 메서드)
- 싱글턴, 내포 클래스에 대해 설명할 수 있는가?
- *상속(Inheritance)
- 개체의 명시적/암시적 캐스팅 : 어떤 경우에 '컴파일 에러' or '런타임 에러'가 발생하는지와 왜 발생하는지에 대해서 배움
- Object 클래스의 역할과 장점을 설명할 수 있는가?
- 상속을 활용한 개체 모델링 연습
- Java에서 다중 상속이란? / 상속과 추상화
- 상속과 컴포지션의 차이점에 대해 설명
- 어떤 경우에 상속이 컴포지션보다 유리한가? 그 반대의 상황은?
(1) ========== 풀코스 신청자의 경우 여기까지가 중간고사 범위 ==========
- *다형성(polymorphism)에 대해 설명하고 예시를 들 수 있는가?
- 늦은 바인딩과 이른 바인딩을 설명할 수 있는가? 각각의 장단점이 무엇인가?
- 추상 메서드 / 추상 클래스 / 인터페이스 3가지 키워드를 가지고 개념을 설명할 수 있는가?
- 인터페이스와 다중 상속
- 개체를 복사(clone)하는 방법에 대해 설명할 수 있는가?
- 결합도(coupling) 개념을 설명과 결합도를 줄이기 위한 방법을 말할 수 있는가?
(2) ========== 여기 이후로는 앞에서 배운 OOP 개념을 기반으로 다양한 패턴을 설명함 ==========
- 팩토리 메서드 패턴 / 빌더 패턴 / 랩퍼 패턴 / 어댑터 패턴 / 프록시 패턴 / 책임 연쇄 패턴 / 옵저버 패턴
- 예외(exception)에 대해서
- Java의 'checked'와 'unchecked'에 대해서
- 오류 상황 대처법들 / 올바른 예외처리에 대하여 / SOLID 설계 '정신' 이란?
(3) ========== 여기까지가 기말고사 범위 ==========
- 다양한 소수설에서 태어난 주장들에 대하여 (팝콘 들고 시청 추천)
(2)번까지의 설명이 OOP에 대한 개념들을 확실히 다지는 내용이다. 그 이후로 다양한 패턴들을 보면서 '제대로 개념을 알고 있는 상태'에서 다양한 기법들이 '왜 그렇게 만들어졌는지', '그렇게 만듬으로써 어떤 장점과 단점을 가지게 되었는지' 이해하면서 볼 수 있게 된다.
(3)번 이후의 소수설 내용들을 들어보면 이제는 상대방이 상사든 나보다 개발을 잘하는 똑똑한 친구든 간에 주변 사람들이 말하는 '흔히 좋다고 알려진', '요즘 뜨고 있는' 기법들에 대해서 판별할 수 있는 눈과 생각을 가지게 되었음을 확인할 수 있을 것이다.
동영상 강의에 대한 내용은 아래 POCU 아카데미 대표 포프님 영상에서 자세히 확인할 수 있다.
동영상 강의만으로도 충분히 이해하고 배울 수 있는 사람(동영상 강의를 보고 스스로 직접 코드를 짜볼 수 있는 사람)이라면 강의만 들어도 충분히 필요한 것을 배울 수 있다. 하지만 대부분의 사람들이 동영상 강의만으로는 보고 들은 내용들을 '내 것'으로 만들기가 쉽지 않다.
수능이나 공무원 시험을 준비하는 많은 학생들이 '인터넷 동영상 강의'가 매우 편하고 언제 어디서든 볼 수 있는 장점이 있는 것을 안다. 하지만 많은 학생들이 '현장 강의'를 듣고자 하는 이유가 있다. '안해도 문제 없는 환경'에 놓이게 되면 안하기 때문이다.
프로그래밍은 머릿 속으로 개념을 이해하고 끝나는 것이 아니다. 코드로 직접 작성할 수 있어야 한다. 실습(직접 해보는 것)이 필수적이다. POCU 아카데미에서는 수강생들의 수강 후의 아웃풋(결과물)을 최대한 이끌어 내기 위해 (동영상 강의만으로 최상의 결과를 내기 힘든 것을 해결하고자) '풀코스(학기 수강)'를 제공한다. (풀코스는 매해 1월, 5월, 9월 단 3번만 모집한다.)
풀코스에 대한 자세한 내용은 아래 글에서 확인할 수 있다.
동영상 강의는 아래 링크에서 확인 가능하다.
'POCU' 카테고리의 다른 글
COMP 2500 풀코스 후기 및 500% 활용하는 팁 (4) | 2022.12.24 |
---|---|
알고 보니 나는 실력 있는 Java 개발자가 아니었다. (0) | 2022.12.22 |
디자인 패턴은 배우는 것이 아니다 (0) | 2022.11.22 |
개발자를 고민하는 사람들이 꼭 보면 좋은 책 (0) | 2022.11.20 |
'중간부터 시작하기' 도구가 적용된 실습/과제들 (0) | 2022.11.07 |
- Total
- Today
- Yesterday
- 상위 20% 능력 학습
- 개발자
- 디자인 패턴
- 관찰
- 김포프
- 지속 가능한 습관
- 형상화
- Java
- 추상화
- 인생 필수책
- Pope Kim
- 다형성
- 프로그래밍
- 젊을 때 읽을수록 더 좋음
- 상속
- 유추
- 캡슐화
- 패턴인식
- OOP
- 몸 최적화
- 감정이입
- 패턴형성
- 습관을 바꾸는 방법
- 늦었을 때가 가장 빠를 때다
- POCU
- 쉬운 책
- 습관 버리기
- 생각의 탄생
- 천재를 이기는 타이탄의 도구들
- 빌드봇
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |