Skip to content

3주차 주간보고서

2025년 6월 30일 - 7월 4일

3주차는 절차지향에서 객체지향 프로그래밍으로의 패러다임 전환을 이루었습니다. TODO 프로그램을 점진적으로 객체지향 구조로 리팩토링하며 클래스, 캡슐화, 제네릭, 인터페이스 등 OOP 핵심 개념을 체득했습니다. 문제를 먼저 경험한 후 해결책을 제시하는 방식으로 학습 효과를 극대화했습니다.

  • 클래스와 객체 개념 도입
    • “붕어빵 틀과 붕어빵” 비유로 설명
    • Todo 클래스 생성 (title, isDone, createdAt)
    • public 필드로 시작 (의도적)
    • ArrayList로 객체 관리
  • 캡슐화와 정보 은닉
    • public 필드의 문제점 실습 (NullPointerException 유발)
    • private 접근 제어자와 getter/setter 도입
    • setter 내 유효성 검증 추가
    • IntelliJ Generate 기능 활용
  • 컬렉션과 제네릭
    • ClassCastException 경험 후 제네릭 필요성 인식
    • 타입 안전성을 위한 제네릭 사용
    • ArrayList 활용 심화
    • 다이아몬드 연산자와 인터페이스 기반 선언
  • 인터페이스와 다형성
    • ITodoUI 인터페이스 생성
    • SimpleTodoUI, DetailedTodoUI, ColorfulTodoUI 구현
    • 런타임 UI 선택 기능
    • “계약으로서의 인터페이스” 개념
    • Open-Closed Principle 자연스럽게 체득
  • 강화 학습 및 종합 복습
    • 학습 부진 학생 집중 지원
    • main 메서드 시그니처 상세 설명
    • 전체 OOP 개념 연결 및 큰 그림 제시
    • 프로그래머스 문제 풀이
  1. 클래스 vs 객체 구분

    • 설계도 vs 실체 개념 혼동
    • 대응: 다양한 비유 활용 (붕어빵 틀, 자동차 설계도 등)
  2. 왜 복잡하게 만드는가?

    • 초기 OOP 복잡성에 대한 거부감
    • 대응: 문제 경험 후 해결책 제시로 필요성 체감
  3. static 키워드 이해

    • main 메서드의 static 의미 혼란
    • 대응: 인스턴스 없이 실행되는 진입점 개념 설명
  1. 변수 선언 vs 객체 생성

    • Todo todo;new Todo() 차이 혼동
    • 대응: 메모리 다이어그램으로 시각화
  2. 제네릭 문법

    • <> 기호와 타입 파라미터 이해 어려움
    • 대응: 타입 안전성 실습으로 필요성 인식
  3. 프로그램 인자 설정

    • IntelliJ에서 런타임 인자 설정 방법
    • 대응: 개별 시연 및 실습
  • “따라하기”에서 “문제 해결 사고”로 전환
  • 코드 복사에서 스스로 작성으로 발전
  • “이제 진짜 프로그램 같다”는 성취감 표현
  • 경험 기반 학습이 이론 설명보다 효과적
  • 하나의 개념에 여러 비유 사용 필요
  • 즉각적인 실용적 이점 제시가 동기부여
  • 초기 실력 격차가 일관된 지원으로 감소
  • 주말까지 모든 학생이 기본 역량 달성
  • 일부 학생은 반복 설명 필요
  1. 패러다임 전환 성공

    • 절차지향에서 객체지향 사고로 전환
    • OOP 필요성과 이점 체감
  2. 핵심 개념 습득

    • 클래스와 객체 생성 능력
    • 적절한 캡슐화 구현
    • 제네릭을 통한 타입 안전성 확보
    • 인터페이스와 다형성 기초 이해
  3. 실무 역량 향상

    • TODO 앱이 실제 사용 가능한 수준으로 발전
    • 코드 구조화와 안전성 고려
    • 문제 해결 중심 사고
  1. 수업 계획

    • 상속과 추상화 개념 도입
    • TODO 프로그램 고도화
    • 예외 처리 심화
  2. 주말 과제

    • TODO 프로그램에 새 기능 추가
    • 학습한 OOP 개념 적용 연습
  3. 개별 학습 지원

    • 수준별 학습 로드맵 검토
    • 추가 지원 필요 학생 파악

3주차는 프로그래밍 학습의 중요한 전환점이었습니다. 단순히 코드를 작성하는 것에서 벗어나 구조와 설계를 고민하는 단계로 성장했습니다.

특히 “문제 경험 → 해결책 제시” 방식의 교육이 매우 효과적이었으며, 학생들이 OOP의 필요성을 자연스럽게 체득했습니다. TODO 프로그램이 실제 사용 가능한 수준으로 발전하며 학생들의 자신감과 성취감이 크게 향상되었습니다.

모든 학생이 기본적인 OOP 개념을 이해하고 적용할 수 있게 되어, 4주차의 고급 개념 학습을 위한 탄탄한 기반을 마련했습니다.


작성자: 김태희 (실습 강사)
작성일: 2025년 7월 20일