고등학교 정보 · 알고리즘과 프로그래밍 · 2022 개정 교육과정
[12정03-08] 성취기준 해설과 수업·평가 예시
성취기준 원문
[12정03-08] 객체를 구현하는 클래스와 인스턴스를 활용하여 프로그램을 작성한다.
성취기준 해설
실생활의 사례를 활용하여 객체 지향의 기본 개념을 이해하고 필요성을 설명할 수 있어야 한다. 클래스와 객체를 생성하고 문제 해결을 위한 프로그램 구현에 활용할 수 있어야 한다.
쉽게 풀어 보면
실생활의 사물을 속성과 행동을 가진 객체로 바라보는 객체 지향의 기본 개념을 이해하고, 클래스로 틀을 정의한 뒤 여러 인스턴스를 만들어 문제를 해결하는 프로그램을 작성하는 성취기준이에요. 코드를 재사용하고 관리하기 쉬워진다는 필요성까지 설명해요.
학습지 문항 예시 예시
클래스로 설계하고 객체 만들기
- 붕어빵 틀과 붕어빵의 비유를 사용해 클래스와 인스턴스의 관계를 설명하세요.
- 학생 클래스를 설계할 때 속성 세 가지와 메서드 두 가지를 정하고 각각의 역할을 쓰세요.
- 생성자 __init__ 안에서 self.name = name이라고 쓰는 까닭을 self의 의미와 연결해 설명해 보세요.
- 은행 계좌 클래스로 두 개의 계좌 인스턴스를 만들어 입금, 출금, 잔액 조회를 하는 상황을 설계하고, 잔액보다 큰 금액을 출금하려 할 때의 처리 방법을 정하세요.
수업 흐름 예시 예시
- 도입: 게임 속 캐릭터 여러 명이 이름, 체력은 다르지만 공격, 이동 같은 행동은 같다는 점을 관찰하며 공통 틀의 필요성을 느껴요.
- 전개 1: 캐릭터 클래스를 정의하고 생성자로 속성을 초기화한 뒤 서로 다른 인스턴스 세 개를 만들어 상태를 출력해요.
- 전개 2: 공격 메서드를 호출해 한 인스턴스의 체력만 줄어드는지 확인하고, 클래스를 쓰지 않은 코드와 길이, 수정 편의성을 비교해요.
- 정리: 우리 학교 생활 속 대상 하나를 골라 클래스 설계도를 그리고 객체 지향의 장점을 한 문장으로 정리해요.
서술형 평가 문항과 채점 기준 예시
도서관 관리 프로그램을 객체 지향 방식으로 만들려고 한다. 도서 클래스의 속성과 메서드를 설계하고, 여러 권의 도서 인스턴스를 생성하여 대출과 반납을 처리하는 과정을 설명한 뒤, 클래스를 사용하지 않을 때와 비교한 장점을 서술하시오.
| 수준 | 채점 기준 |
|---|---|
| 상 | 제목, 저자, 대출 상태 등 속성과 대출, 반납 메서드를 적절히 설계하고 인스턴스별로 상태가 독립적으로 바뀜을 설명하며 재사용성과 유지보수 측면의 장점을 구체적으로 제시함 |
| 중 | 클래스 설계와 인스턴스 활용은 적절하나 객체 지향의 장점 설명이 일반적인 수준에 머묾 |
| 하 | 클래스와 인스턴스의 차이를 구분하지 못하거나 속성과 메서드를 혼동함 |
세특 기재 예시 예시
객체 지향 프로그래밍 실습에서 반려 식물 관리 프로그램을 설계하여 식물 클래스에 이름, 수분량 속성과 물 주기, 상태 확인 메서드를 정의함. 여러 인스턴스를 만들어 한 식물에 물을 주어도 다른 식물의 수분량은 변하지 않음을 출력으로 확인하고 인스턴스 독립성을 설명함. self를 빠뜨려 생긴 오류의 원인을 분석하여 정리함.
이 예시는 180자, 나이스 기준 436Byte예요. 과목별 세특은 1,500Byte(500자)까지 써요. 내 문장은 나이스 글자수·바이트 계산기로 세어 볼 수 있어요.
세특에는 학생이 실제로 한 활동과 교사가 관찰한 내용만 써요. 대회명·기관명처럼 쓰면 안 되는 내용은 생기부 기재 금지 사전에서 확인할 수 있어요.
학생들이 자주 헷갈리는 점
클래스를 정의하기만 하면 객체가 이미 만들어진 것으로 오해하는 학생이 많아요. 클래스는 설계도일 뿐이고 클래스 이름에 괄호를 붙여 호출해야 인스턴스가 생긴다는 점을 id 함수로 서로 다른 인스턴스를 확인하며 보여 주세요.
이 영역의 적용 시 고려 사항 (고시 원문)
- 제시된 문제 상황을 컴퓨팅 시스템으로 해결할 수 있도록 문제 분해, 모델링, 알고리즘 설계 등의 추상화 과정 및 프로그램 작성, 실행 결과 평가, 오류 수정 등의 자동화 과정이 유기적으로 연결되도록 나선형으로 교수·학습을 제시하고 과정 전반을 평가하도록 한다.
- 정렬, 탐색 알고리즘 학습 과정에서 정렬, 탐색의 효율적인 부분을 효과적으로 이해할 수 있도록 실제 대규모 데이터를 정렬하고 탐색하는 과정을 교수·학습 과정에 충분히 포함하도록 한다.
- 다차원 데이터 구조 학습 과정에서 프로그래밍 언어에 따라 2차원 혹은 그 이상의 배열이나 리스트를 활용하도록 하며, 다차원 데이터를 활용하는 이유를 이해하기 쉽도록 실제로 사용되는 데이터의 예시를 충분히 제공하도록 한다.
- 프로그래밍 학습 시 최소 성취수준을 보장하기 위하여 프로그래밍 관련 학습 개념을 우선 이해할 수 있도록 미리 제작된 코드를 제공하거나, 프로그래밍 언어에서 활용할 수 있는 여러 라이브러리를 활용하는 방안을 구상하도록 한다. 기본적인 프로그래밍 개념이 부족한 학생을 위해 수준에 맞게 스스로 학습을 진행할 수 있는 추가적인 교육 내용을 제공하는 것도 고려하도록 한다.
같은 영역의 다른 성취기준
왓퀴즈는 이런 AI예요
왓퀴즈는 한국 학교의 수업과 기록 업무에 맞춘 교사용 AI예요. 이 사전과 같은 2022 개정 교육과정 성취기준 데이터로 학습지, 수업 PPT, 평가계획서 초안을 만들고, 2026학년도 학교생활기록부 기재요령 원문을 바탕으로 세특 초안을 쓰고 기재 금지 표현을 검사해요.