정보처리기사 CBT
종목 메뉴

개념 한 쪽

정보처리기사 객체지향 — 클래스·캡슐화·집단화·LSP

객체지향은 데이터와 기능을 객체 단위로 묶어 시스템을 만드는 기법이다. 정보처리기사에서는 클래스, 캡슐화와 정보 은닉, 집단화 관계, 리스코프 치환 원칙이 빈출된다.

2026-10-15 기준 · 정보처리기사 대시보드

이 개념을 문제로 확인하고 싶으면 이 개념 문제 10개 풀기 회원용

가입 없이 오늘의 10문제 바로 풀기 →

시험에 이렇게 나온다

출제기준 단원 「객체지향(OOP)」의 공개 문제 3개를 묻는 꼴별로 나누면 이렇습니다.

묻는 꼴문제 수무엇을 묻나
용어 선택 — 클래스1데이터 추상화 단위를 고르는 문제
용어 선택 — 집단화(aggregation)1부분‑전체 관계의 명칭을 고르는 문제
용어 선택 — 캡슐화1정보 은닉과 경계 노출을 설명하는 개념을 고른다

뜻

클래스는 객체지향에서 데이터를 추상화하는 단위다. 하나 이상의 유사한 객체들을 묶어 공통된 특성을 표현한 것으로, 데이터(속성)와 그 데이터를 처리하는 기능(메소드)을 하나의 단위로 묶은 청사진 역할을 하며 객체의 인스턴스를 생성하는 기반이 된다. 추상화란 복잡한 현실의 사물을 단순화하여 핵심 특징만 추출하는 것인데, 이 추상화를 수행하는 단위가 곧 클래스다.

캡슐화는 데이터와 이를 조작하는 메서드를 하나의 단위로 묶어 외부에서 직접 접근하지 못하도록 하는 기법으로, 정보 은닉을 구현하는 핵심 기법이다. 정보 은닉은 객체의 내부 데이터가 외부에서 직접 접근하거나 변경되는 것을 막고 필요한 경우에만 메서드를 통해 접근하도록 보호하는 개념으로, 시스템의 안정성을 높이고 유지보수를 용이하게 한다. 캡슐화의 이점으로는 인터페이스 단순화, 오류 파급효과 감소, 재사용성 향상이 꼽힌다. 상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것은 캡슐화가 아니라 상속이다.

클래스들 사이의 관계를 나타내는 용어도 구분해야 한다. 집단화(Aggregation)는 여러 객체가 모여 하나의 전체를 이루는 '부분-전체(part-whole)', 'is-a-part-of' 관계를 나타내고, 일반화는 부모-자식 클래스 간의 'is-a' 관계를 나타낸다. 객체지향 설계 원칙 중 리스코프 치환 원칙(LSP)은 서브타입(상속받은 하위 클래스)은 어디에서나 자신의 기반타입(상위 클래스)으로 교체할 수 있어야 함을 의미한다. 하위 클래스를 사용했는데 프로그램이 깨지거나 예상치 못한 오류가 발생한다면 그 관계는 이 원칙에 어긋난다.

예제

시험에서는 "객체지향에서 데이터를 추상화하는 단위는?"처럼 클래스를 묻는 문제가 기본으로 나온다. "정보 은닉과 가장 밀접한 것은?"에서는 캡슐화가 정답이고, 캡슐화 설명 문제의 오답 보기로 상속의 정의("상위 클래스의 모든 속성과 연산을 하위 클래스가 물려받는 것")가 등장한다. '부분-전체' 관계를 묻는 문제에서는 집단화와 일반화('is-a')가 보기로 섞여 나온다.

대표 기출 3문항

객체지향 프로그램에서 데이터를 추상화하는 단위는?

  1. 메소드
  2. 클래스
  3. 상속성
  4. 메시지
정답과 해설 보기

정답 ② · 이 문제는 객체지향 프로그래밍에서 공통된 속성과 연산을 묶어 데이터를 추상화하는 기본 단위를 묻고 있다. 객체지향 개념에서 클래스는 객체가 가질 데이터(속성)와 이를 다루는 행위(메소드)를 정의하여 추상화한 틀이자 청사진이다.

클래스는 객체지향 프로그래밍에서 데이터와 메소드를 묶어 추상화하는 기본 단위이다.

객체지향 기법에서 클래스들 사이의 ‘부분-전체(part-whole)' 관계 또는 ’부분(is-a-part-of)'의 관계로 설명되는 연관성을 나타내는 용어는?

  1. 일반화
  2. 추상화
  3. 캡슐화
  4. 집단화
정답과 해설 보기

정답 ④ · 객체지향 기법에서 클래스들 사이의 '부분-전체(part-whole)' 관계를 나타내는 연관성은 집단화(Aggregation)입니다. 집단화는 여러 개의 객체들을 묶어서 하나의 상위 객체를 생성하는 관계로, '부분이다(is-a-part-of)'라는 관계를 형성합니다.

클래스 간의 '부분-전체' 또는 'is-a-part-of' 관계는 집단화(Aggregation)로 표현되며, 일반화는 'is-a' 관계를 나타낸다.

객체지향에서 정보 은닉과 가장 밀접한 관계가 있는 것은?

  1. Encapsulation
  2. Class
  3. Method
  4. Instance
정답과 해설 보기

정답 ① · 객체지향에서 정보 은닉과 가장 밀접한 개념을 묻는 문제이다. 정보 은닉은 객체 내부의 데이터나 구현 세부사항을 외부에서 직접 접근하지 못하게 하고 인터페이스를 통해서만 접근을 허용하는 개념이다.

객체지향 프로그래밍에서 정보 은닉은 객체의 내부 데이터를 외부로부터 보호하고 접근을 제어하는 개념으로, 이를 구현하는 핵심 기법이 바로 캡슐화(Encapsulation)입니다.

자주 묻는 물음

객체지향에서 데이터를 추상화하는 단위는 무엇인가요?
클래스입니다. 클래스는 유사한 객체들의 공통된 특성을 묶어 표현하며, 데이터와 메소드를 하나의 단위로 담은 청사진 역할을 하고 객체의 인스턴스를 생성하는 기반이 됩니다.
정보 은닉을 구현하는 핵심 기법은 무엇인가요?
캡슐화입니다. 데이터와 이를 조작하는 메서드를 하나로 묶어 외부의 직접 접근을 막음으로써 인터페이스가 단순해지고 오류 파급효과가 줄어들며 재사용성이 높아집니다.
'부분-전체(part-whole)' 관계를 나타내는 용어는 무엇인가요?
집단화(Aggregation)입니다. 일반화가 'is-a' 관계를 나타내는 것과 구분되며, 여러 객체가 모여 하나의 전체 객체를 이루는 관계입니다. 리스코프 치환 원칙(LSP)처럼 하위 클래스가 상위 클래스를 대체할 수 있어야 한다는 설계 원칙과도 구분됩니다.
이 개념 문제 10개 풀기 회원용

정보처리기사 풀이 세트에서 이 개념의 문제 10개를 바로 풀어 보세요.