객체지향프로그래밍

Object-Oriented Programming

한국외국어대학교 Language & AI 융합학부

2026학년도 2학기

강의 개요

파이썬으로 객체지향 프로그래밍의 핵심을 다룬다. 클래스와 객체에서 시작해 캡슐화, 특수메서드, 상속까지 쌓아 올리며, 개념마다 직접 코드를 짜고 실제 라이브러리가 같은 개념을 어떻게 쓰는지 읽는다.

학습 목표

  • 클래스와 객체를 설계하고 객체 간 협력을 코드로 표현한다
  • 캡슐화로 객체의 상태를 보호하고 검증한다
  • 특수메서드와 연산자 오버로딩으로 파이썬 문법을 클래스에 연결한다
  • 상속으로 공통 코드를 추출하고 계층을 설계한다
  • 객체가 메모리에서 어떻게 만들어지고 사라지는지 설명한다
직접 짜보기

매주 개념 강의 뒤 라이브 코딩으로 함께 작성하고, 그 자리에서 실습 과제를 이어 완성한다.

실제 코드 읽기

dataclasses, pathlib, scikit-learn, PyTorch가 같은 개념을 어떤 형태로 쓰는지 매주 읽는다.

내부 들여다보기

__dict__·__mro__ 같은 파이썬 자체 기능으로 문법 뒤에서 벌어지는 일을 확인한다.

과목 정보

기본 정보
  • 과목명: 객체지향프로그래밍 (Object-Oriented Programming)
  • 강의 시간: 수요일 4·5·6교시
  • 학점: 3학점
  • 개설학과: Language & AI 융합학부
  • 담당교수: 최승택(1~8주) · 김예찬(9~16주) 팀티칭
  • 선수과목: 컴퓨터프로그래밍기초 (파이썬 기본 문법)
개발 환경
  • 언어: Python 3.12 이상
  • 에디터: VS Code + Python 확장
  • 실행: 로컬에서 .py 파일을 터미널로 실행
  • 설치: 2주차에 안내. 각자 직접 설치해 온다

강의 계획

주차 담당 주제 세부 내용 자료
1주차
2026.09.02
오리엔테이션
최승택 과목 소개 객체지향이 무엇이고 왜 배우는가, 수업 운영과 제출 방식, 평가 강의자료
2주차
2026.09.09
준비
최승택 개발환경 + 파이썬 복습 Python·VS Code 설치, 터미널에서 .py 실행, list·dict·함수 복습, 모듈과 패키지, 절차적 코드가 엉키는 과정 강의자료
3주차
2026.09.16
OOP 기초
최승택 클래스와 객체, 객체 간 협력 class·__init__·self, 인스턴스의 독립성, 객체가 객체를 보유하는 composition, type hints, @dataclass·namedtuple 읽기 강의자료
4주차
2026.09.23
캡슐화
최승택 캡슐화 밑줄 관례와 메서드를 통한 상태 변경, @property로 검증·계산, __str__, name mangling, is== 강의자료
5주차
2026.09.30
특수메서드
최승택 특수메서드와 연산자 오버로딩 __add__·__eq__·__repr__·__getitem__·__call__, 연산자가 메서드 호출로 번역되는 규칙, __hash__와의 짝 강의자료
6주차
2026.10.07
상속
최승택 상속 (1): 코드 재사용 공통 코드를 부모 클래스로 추출, super().__init__(), 오버라이딩, is-a와 has-a, 속성 탐색 순서와 __mro__ 강의자료
7주차
2026.10.14
상속
최승택 상속 (2)와 다형성 같은 호출이 타입마다 다르게 동작하는 원리, 동적 디스패치, duck typing, abc.ABC, 전반부 정리 강의자료
8주차
2026.10.21
시험
최승택 중간고사 1~7주차 범위. 개념 판단, 코드 읽고 출력 적기, 코드 작성 -
9~16주차
2026.10.28 ~ 12.16
후반부
김예찬 후반부 다형성 · 추상화 · 예외 처리 · 디자인 패턴. 주차별 세부 일정은 후반부 담당 교수 안내 -

평가 체계

중간고사 30%
기말고사 30%
실습 및 과제 40%
총합 100%

실습 및 과제는 매주 진행하는 실습 과제와 코딩 과제를 합산한다.

학습 자료 및 도구

교재: 지정 교재는 없다. 강의자료와 공식 문서로 진행한다.
개발 환경
# Python 3.12 이상
# VS Code + Python 확장
# 터미널에서 python hello.py
매주의 흐름
  • 개념 강의
  • 라이브 코딩 — 한 줄씩 함께 작성
  • 실습 과제 — 그 자리에서 이어 완성해 LMS 제출
  • 코딩 과제 — 직접 손으로 푼다

공지사항