이 과목은 '개체지향 프로그래밍(OOP)'과 '개체지향 분석 및 설계(OOAD)'를 한꺼번에 가르치는 과목으로 OO 언어의 사용법을 배우는데 그치지 않고 실세계를 컴퓨터 프로그램의 개체로 모델링할 수 있는 능력까지 훈련시켜 줍니다. 그 외에 OO 분야의 다양한 주장들이 나오게 된 배경과 각 주장의 장단점, 그리고 그들 사이에서 어떻게 밸런스를 잡아야 훌륭한 프로그래머가 될 수 있는지에 대한 가이드도 제공합니다.
열리는 날 | 닫히는 날 | |
---|---|---|
수강기간 |
2024-09-02 00:00:00 GMT
|
2024-12-15 23:59:59 GMT
|
수강신청기간 |
2024-08-19 00:00:00 GMT
|
2024-09-01 23:59:59 GMT
|
수강신청 시 해당 내용을 숙지 및 동의한 것으로 간주합니다.
'인간이 생각하는 방식으로 프로그래밍 하자!'라는 야심찬 목표를 가지고 시작한 개체지향 프로그래밍(OOP, Object-Oriented Programming)은 이제 주류 프로그래밍 패러다임이 되었습니다. 허나 기존의 프로그래밍 패러다임(예: 절차적 프로그래밍)에 비해 '인간이 생각하는 방식', 다른 말로 하면 '인간다움'이란 정의는 매우 주관적일 수밖에 없습니다. 각 개인이 속한 환경과 시대에 따라 세상을 보는 눈이 달라지니까요.
이 때문에 특정 OO 언어의 사용법만 익히는 것은 반쪽짜리 OOP 공부입니다. 특정 언어의 사용법은 객관적인 측면일 뿐이니까요. 이 외에 사람의 관점에서 바라본 실세계를 컴퓨터 프로그램의 개체로 모델링할 수 있는 능력(주관적인 측면)을 같이 키워나가야만 제대로 OOP를 배우는 겁니다. 후자는 개체지향 분석 및 설계(OOAD, Object-Oriented Analysis and Design)의 영역으로 본 과목은 OOP와 OOAD(이후 합쳐서 OO라고 표현)를 동시에 가르칩니다.
상술한 주관성 때문에 OO 분야에는 다양한 의견과 주장이 존재해왔습니다. 그리고 어느 시대와 진영의 자료로 공부했느냐에 따라 각 프로그래머가 OO(OOP와 OOAD를 모두 포함)를 이해하는 방식이 많이 다릅니다. 객관성을 추구하는 컴퓨터 과학/공학이라는 학문에 이런 광범위한 주관성은 많은 혼란을 야기합니다. 더 나아가 다른 주장이 나온 이유를 이해하려는 노력 없이 자신이 무비판적으로 수용하며 배운 내용에 기초하여 다른 진영이 무조건 틀렸다고 공격하는 모습들도 OO 분야에서는 종종 발견되는 건설적이지 못한 모습입니다.
이런 문제들을 해결하기 위해 본 과목은 현재 실무에서 다수설로 받아들이는 OO의 정의와 모델링/프로그래밍 기법을 배우는 외에도 이런 다양한 주장들이 나오게 된 배경과 각 주장의 장단점, 그리고 그들 사이에서 어떻게 밸런스를 잡아야 훌륭한 프로그래머가 될 수 있는지에 대한 가이드도 제공합니다.
동영상 강의 범위(총 3시간 21분): 이 과목에서 사용하는 서비스 및 도구 ~ 정리
실습 1
과제 1 (제출 마감: 2024-09-22 22:00:00 GMT)
실습 2
과제 1 (제출 마감: 2024-09-22 22:00:00 GMT)
실습 3
과제 1 (제출 마감: 2024-09-22 22:00:00 GMT)
실습 4
과제 2 (제출 마감: 2024-10-13 22:00:00 GMT)
동영상 강의 범위(총 1시간 48분): 상속, 부모/자식 클래스 소개 ~ 정리
실습 5
과제 2 (제출 마감: 2024-10-13 22:00:00 GMT)
동영상 강의 범위(총 1시간 55분): 사람에게 상속이 어려운 이유 ~ 정리
실습 6
과제 2 (제출 마감: 2024-10-13 22:00:00 GMT)
동영상 강의 범위(총 1시간 25분): OO에서 재사용성을 중요시하는 이유 ~ 정리
과제 3 (제출 마감: 2024-11-10 22:00:00 GMT)
과제 3 (제출 마감: 2024-11-10 22:00:00 GMT)
동영상 강의 범위(총 2시간 08분): 다형성, polymorphism의 단어 뜻 ~ 정리
실습 7
과제 3 (제출 마감: 2024-11-10 22:00:00 GMT)
동영상 강의 범위(총 2시간 08분): 다형성, 상속, 추상화의 관계 ~ 정리
실습 8
과제 3 (제출 마감: 2024-11-10 22:00:00 GMT)
실습 9
과제 4 (제출 마감: 2024-12-01 22:00:00 GMT)
동영상 강의 범위(총 2시간 54분): 래퍼 패턴 ~ 예외적인 상황에만 예외를 사용해야 하는 경우
실습 10
과제 4 (제출 마감: 2024-12-01 22:00:00 GMT)
동영상 강의 범위(총 2시간 25분): 오류 상황, 예외 상황 ~ 정리
실습 11
과제 4 (제출 마감: 2024-12-01 22:00:00 GMT)
없음
제목 | 공지일 | 제출 마감 |
---|---|---|
101
실습 1
|
1
2024-09-02 00:00:00 GMT
(1주 차)
|
638614296000000000
2024-09-08 22:00:00 GMT
|
102
실습 2
|
2
2024-09-09 00:00:00 GMT
(2주 차)
|
638620344000000000
2024-09-15 22:00:00 GMT
|
103
실습 3
|
3
2024-09-16 00:00:00 GMT
(3주 차)
|
638626392000000000
2024-09-22 22:00:00 GMT
|
104
실습 4
|
4
2024-09-23 00:00:00 GMT
(4주 차)
|
638632440000000000
2024-09-29 22:00:00 GMT
|
105
실습 5
|
5
2024-09-30 00:00:00 GMT
(5주 차)
|
638638488000000000
2024-10-06 22:00:00 GMT
|
106
실습 6
|
6
2024-10-07 00:00:00 GMT
(6주 차)
|
638644536000000000
2024-10-13 22:00:00 GMT
|
107
실습 7
|
9
2024-10-28 00:00:00 GMT
(9주 차)
|
638662680000000000
2024-11-03 22:00:00 GMT
|
108
실습 8
|
10
2024-11-04 00:00:00 GMT
(10주 차)
|
638668728000000000
2024-11-10 22:00:00 GMT
|
109
실습 9
|
11
2024-11-11 00:00:00 GMT
(11주 차)
|
638674776000000000
2024-11-17 22:00:00 GMT
|
1010
실습 10
|
12
2024-11-18 00:00:00 GMT
(12주 차)
|
638680824000000000
2024-11-24 22:00:00 GMT
|
1011
실습 11
|
13
2024-11-25 00:00:00 GMT
(13주 차)
|
638686872000000000
2024-12-01 22:00:00 GMT
|
001
과제 1
|
1
2024-09-02 00:00:00 GMT
(1주 차)
|
638626392000000000
2024-09-22 22:00:00 GMT
|
002
과제 2
|
4
2024-09-23 00:00:00 GMT
(4주 차)
|
638644536000000000
2024-10-13 22:00:00 GMT
|
003
과제 3
|
7
2024-10-14 00:00:00 GMT
(7주 차)
|
638668728000000000
2024-11-10 22:00:00 GMT
|
004
과제 4
|
11
2024-11-11 00:00:00 GMT
(11주 차)
|
638686872000000000
2024-12-01 22:00:00 GMT
|
2024-09-15 23:59:59 GMT | 환불 신청 마감 |
|
---|---|---|
2024-11-03 23:59:59 GMT | 수강 철회 신청 마감 |
|
반드시 PC에서(모바일은 응시 불가) 크롬(Chrome) 브라우저를 사용해야 합니다.
시험을 볼 때 시험 감독 서비스를 사용하며, 서비스를 이용하기 위한 시스템 최소 사양은 다음과 같습니다.
윈도우 | 맥 | 리눅스 | 크롬 운영체제 | |
---|---|---|---|---|
운영체제 | 윈도우 7+ | 맥 OSX 10.9+ | 우분투 18.04+ | 크롬 58+ |
프로세서 | 인텔 펜티엄 이상 | 인텔 또는 ARM | 인텔 펜티엄 이상 | 인텔 또는 ARM |
사용 가능한 디스크 공간 | 250 MB | 250 MB | 250 MB | 250 MB |
램(메모리) | 4 GB1 | 4 GB1 | 4 GB1 | 4 GB1 |
업로드 속도 | 0.092 Mbps - 0.244 Mbps | |||
마이크 | 내장형 또는 독립형 | |||
웹캠 | VGA 해상도 320x240 이상, 내장형 또는 독립형 |
열리는 날 | 닫히는 날 | |
---|---|---|
수강기간 |
2025-05-05 00:00:00 GMT
|
2025-08-17 23:59:59 GMT
|
수강신청기간 |
2025-04-21 00:00:00 GMT
|
2025-05-04 23:59:59 GMT
|
수강신청 시 해당 내용을 숙지 및 동의한 것으로 간주합니다.
'인간이 생각하는 방식으로 프로그래밍 하자!'라는 야심찬 목표를 가지고 시작한 개체지향 프로그래밍(OOP, Object-Oriented Programming)은 이제 주류 프로그래밍 패러다임이 되었습니다. 허나 기존의 프로그래밍 패러다임(예: 절차적 프로그래밍)에 비해 '인간이 생각하는 방식', 다른 말로 하면 '인간다움'이란 정의는 매우 주관적일 수밖에 없습니다. 각 개인이 속한 환경과 시대에 따라 세상을 보는 눈이 달라지니까요.
이 때문에 특정 OO 언어의 사용법만 익히는 것은 반쪽짜리 OOP 공부입니다. 특정 언어의 사용법은 객관적인 측면일 뿐이니까요. 이 외에 사람의 관점에서 바라본 실세계를 컴퓨터 프로그램의 개체로 모델링할 수 있는 능력(주관적인 측면)을 같이 키워나가야만 제대로 OOP를 배우는 겁니다. 후자는 개체지향 분석 및 설계(OOAD, Object-Oriented Analysis and Design)의 영역으로 본 과목은 OOP와 OOAD(이후 합쳐서 OO라고 표현)를 동시에 가르칩니다.
상술한 주관성 때문에 OO 분야에는 다양한 의견과 주장이 존재해왔습니다. 그리고 어느 시대와 진영의 자료로 공부했느냐에 따라 각 프로그래머가 OO(OOP와 OOAD를 모두 포함)를 이해하는 방식이 많이 다릅니다. 객관성을 추구하는 컴퓨터 과학/공학이라는 학문에 이런 광범위한 주관성은 많은 혼란을 야기합니다. 더 나아가 다른 주장이 나온 이유를 이해하려는 노력 없이 자신이 무비판적으로 수용하며 배운 내용에 기초하여 다른 진영이 무조건 틀렸다고 공격하는 모습들도 OO 분야에서는 종종 발견되는 건설적이지 못한 모습입니다.
이런 문제들을 해결하기 위해 본 과목은 현재 실무에서 다수설로 받아들이는 OO의 정의와 모델링/프로그래밍 기법을 배우는 외에도 이런 다양한 주장들이 나오게 된 배경과 각 주장의 장단점, 그리고 그들 사이에서 어떻게 밸런스를 잡아야 훌륭한 프로그래머가 될 수 있는지에 대한 가이드도 제공합니다.
동영상 강의 범위(총 3시간 21분): 이 과목에서 사용하는 서비스 및 도구 ~ 정리
실습 1
과제 1 (제출 마감: 2025-05-25 22:00:00 GMT)
실습 2
과제 1 (제출 마감: 2025-05-25 22:00:00 GMT)
실습 3
과제 1 (제출 마감: 2025-05-25 22:00:00 GMT)
실습 4
과제 2 (제출 마감: 2025-06-15 22:00:00 GMT)
동영상 강의 범위(총 1시간 48분): 상속, 부모/자식 클래스 소개 ~ 정리
실습 5
과제 2 (제출 마감: 2025-06-15 22:00:00 GMT)
동영상 강의 범위(총 1시간 55분): 사람에게 상속이 어려운 이유 ~ 정리
실습 6
과제 2 (제출 마감: 2025-06-15 22:00:00 GMT)
동영상 강의 범위(총 1시간 25분): OO에서 재사용성을 중요시하는 이유 ~ 정리
과제 3 (제출 마감: 2025-07-13 22:00:00 GMT)
과제 3 (제출 마감: 2025-07-13 22:00:00 GMT)
동영상 강의 범위(총 2시간 08분): 다형성, polymorphism의 단어 뜻 ~ 정리
실습 7
과제 3 (제출 마감: 2025-07-13 22:00:00 GMT)
동영상 강의 범위(총 2시간 08분): 다형성, 상속, 추상화의 관계 ~ 정리
실습 8
과제 3 (제출 마감: 2025-07-13 22:00:00 GMT)
실습 9
과제 4 (제출 마감: 2025-08-03 22:00:00 GMT)
동영상 강의 범위(총 2시간 54분): 래퍼 패턴 ~ 예외적인 상황에만 예외를 사용해야 하는 경우
실습 10
과제 4 (제출 마감: 2025-08-03 22:00:00 GMT)
동영상 강의 범위(총 2시간 25분): 오류 상황, 예외 상황 ~ 정리
실습 11
과제 4 (제출 마감: 2025-08-03 22:00:00 GMT)
없음
제목 | 공지일 | 제출 마감 |
---|---|---|
101
실습 1
|
1
2025-05-05 00:00:00 GMT
(1주 차)
|
638825976000000000
2025-05-11 22:00:00 GMT
|
102
실습 2
|
2
2025-05-12 00:00:00 GMT
(2주 차)
|
638832024000000000
2025-05-18 22:00:00 GMT
|
103
실습 3
|
3
2025-05-19 00:00:00 GMT
(3주 차)
|
638838072000000000
2025-05-25 22:00:00 GMT
|
104
실습 4
|
4
2025-05-26 00:00:00 GMT
(4주 차)
|
638844120000000000
2025-06-01 22:00:00 GMT
|
105
실습 5
|
5
2025-06-02 00:00:00 GMT
(5주 차)
|
638850168000000000
2025-06-08 22:00:00 GMT
|
106
실습 6
|
6
2025-06-09 00:00:00 GMT
(6주 차)
|
638856216000000000
2025-06-15 22:00:00 GMT
|
107
실습 7
|
9
2025-06-30 00:00:00 GMT
(9주 차)
|
638874360000000000
2025-07-06 22:00:00 GMT
|
108
실습 8
|
10
2025-07-07 00:00:00 GMT
(10주 차)
|
638880408000000000
2025-07-13 22:00:00 GMT
|
109
실습 9
|
11
2025-07-14 00:00:00 GMT
(11주 차)
|
638886456000000000
2025-07-20 22:00:00 GMT
|
1010
실습 10
|
12
2025-07-21 00:00:00 GMT
(12주 차)
|
638892504000000000
2025-07-27 22:00:00 GMT
|
1011
실습 11
|
13
2025-07-28 00:00:00 GMT
(13주 차)
|
638898552000000000
2025-08-03 22:00:00 GMT
|
001
과제 1
|
1
2025-05-05 00:00:00 GMT
(1주 차)
|
638838072000000000
2025-05-25 22:00:00 GMT
|
002
과제 2
|
4
2025-05-26 00:00:00 GMT
(4주 차)
|
638856216000000000
2025-06-15 22:00:00 GMT
|
003
과제 3
|
7
2025-06-16 00:00:00 GMT
(7주 차)
|
638880408000000000
2025-07-13 22:00:00 GMT
|
004
과제 4
|
11
2025-07-14 00:00:00 GMT
(11주 차)
|
638898552000000000
2025-08-03 22:00:00 GMT
|
2025-05-18 23:59:59 GMT | 환불 신청 마감 |
|
---|---|---|
2025-07-06 23:59:59 GMT | 수강 철회 신청 마감 |
|
반드시 PC에서(모바일은 응시 불가) 크롬(Chrome) 브라우저를 사용해야 합니다.
시험을 볼 때 시험 감독 서비스를 사용하며, 서비스를 이용하기 위한 시스템 최소 사양은 다음과 같습니다.
윈도우 | 맥 | 리눅스 | 크롬 운영체제 | |
---|---|---|---|---|
운영체제 | 윈도우 7+ | 맥 OSX 10.9+ | 우분투 18.04+ | 크롬 58+ |
프로세서 | 인텔 펜티엄 이상 | 인텔 또는 ARM | 인텔 펜티엄 이상 | 인텔 또는 ARM |
사용 가능한 디스크 공간 | 250 MB | 250 MB | 250 MB | 250 MB |
램(메모리) | 4 GB1 | 4 GB1 | 4 GB1 | 4 GB1 |
업로드 속도 | 0.092 Mbps - 0.244 Mbps | |||
마이크 | 내장형 또는 독립형 | |||
웹캠 | VGA 해상도 320x240 이상, 내장형 또는 독립형 |