본문 바로가기
정보처리기사/기출문제풀이(정보처리기사)

[정보처리기사 기출문제] 속성과 관련된 연산(Operation)을 클래스 안에 묶어서 하나로 취급하는 것을 의미하는 객체지향 개념은?

by VisionAchiever 2025. 4. 29.
728x90
SMALL

 

속성과 관련된 연산(Operation)을 클래스 안에 묶어서 하나로 취급하는 것을 의미하는 객체지향 개념은?
① Inheritance
② Class
③Encapsulation
④ Association

 

정답은 ③ 캡슐화(Encapsulation)입니다.

각 보기 설명

상속 (Inheritance): 상위 클래스의 속성과 연산을 하위 클래스가 물려받아 재사용하고 확장하는 메커니즘입니다. 속성과 연산을 묶는 개념과는 직접적인 관련이 적습니다.

클래스 (Class): 객체를 생성하기 위한 설계도 또는 템플릿으로, 속성(데이터)과 관련된 연산(메소드)을 정의합니다. 클래스는 속성과 연산을 논리적으로 묶는 역할을 하지만, 이를 하나의 물리적인 단위로 취급하는 개념은 캡슐화입니다.

캡슐화 (Encapsulation): 데이터(속성)와 그 데이터를 처리하는 메소드(연산)를 하나의 단위(클래스)로 묶고, 외부로부터 데이터의 직접적인 접근을 제한하여 정보 은닉을 구현하는 객체지향 개념입니다. 이를 통해 데이터의 무결성을 보호하고 코드의 유지보수성을 높입니다.

연관 (Association): 클래스 또는 객체 간의 관계를 나타냅니다. 속성과 연산을 묶는 개념과는 직접적인 관련이 없습니다.

주요 개념 정리

  • 객체지향 프로그래밍 (Object-Oriented Programming, OOP): 데이터를 객체라는 단위로 묶고, 객체 간의 상호작용을 통해 프로그램을 구성하는 프로그래밍 패러다임입니다.
  • 속성 (Attribute): 객체의 상태를 나타내는 데이터입니다. 클래스 내에서 변수로 정의됩니다.
  • 연산 (Operation): 객체의 속성을 조작하거나 객체 간의 상호작용을 수행하는 기능으로, 클래스 내에서 메소드(Method)로 정의됩니다.
  • 캡슐화 (Encapsulation): 데이터(속성)와 그 데이터를 처리하는 메소드(연산)를 하나의 클래스 내부에 묶고, 외부에서의 직접적인 접근을 제한하여 데이터의 무결성을 보호하고 정보 은닉을 구현하는 객체지향 개념입니다.

유사한 문제 5가지

문제 1: 객체지향 프로그래밍에서 정보 은닉(Information Hiding)을 구현하는 데 가장 중요한 개념은 무엇인가요?

① 상속 (Inheritance)

② 다형성 (Polymorphism)

③ 캡슐화 (Encapsulation)

④ 추상화 (Abstraction)

 

정답: ③ 캡슐화 (Encapsulation)

설명: 캡슐화는 클래스 내부의 데이터와 메소드를 외부로부터 숨기고 필요한 인터페이스를 통해서만 접근하도록 제어하여 정보 은닉을 구현하는 핵심적인 메커니즘입니다.

 

문제 2: 클래스 내부에서 속성에 대한 접근 제어 지시자(Access Modifier)를 사용하는 주된 이유는 무엇인가요?

① 코드의 재사용성을 높이기 위해

② 프로그램의 실행 속도를 향상시키기 위해

③ 캡슐화를 통해 데이터의 무결성을 보호하고 외부의 간섭을 줄이기 위해

④ 다형성을 구현하기 위해

 

정답: ③ 캡슐화를 통해 데이터의 무결성을 보호하고 외부의 간섭을 줄이기 위해

설명: 접근 제어 지시자는 클래스 멤버(속성 및 메소드)에 대한 접근 범위를 설정하여 캡슐화를 구현하고, 데이터의 무결성을 유지하며, 클래스 내부 구현을 외부로부터 보호하는 데 사용됩니다.

 

문제 3: 다음 중 캡슐화의 장점으로 보기 어려운 것은?

① 코드의 유지보수성 향상

② 데이터의 무결성 확보

③ 클래스 간의 결합도 증가

④ 정보 은닉을 통한 보안 강화

 

정답: ③ 클래스 간의 결합도 증가

설명: 캡슐화는 클래스 내부 구현을 숨기고 인터페이스를 통해 상호작용하도록 유도하여 클래스 간의 결합도를 낮추고 독립성을 높이는 효과가 있습니다.

 

문제 4: 객체지향 설계 원칙 중 "자신의 상태를 관리하고 외부의 직접적인 접근을 최소화해야 한다"는 원칙과 가장 관련이 깊은 개념은 무엇인가요?

① 단일 책임 원칙 (Single Responsibility Principle)

② 개방-폐쇄 원칙 (Open/Closed Principle)

③ 리스코프 치환 원칙 (Liskov Substitution Principle)

④ 캡슐화 (Encapsulation)

 

정답: ④ 캡슐화 (Encapsulation)

설명: 캡슐화는 객체가 자신의 데이터를 스스로 관리하고 외부의 직접적인 접근을 제한하는 것을 핵심으로 하므로, 제시된 설계 원칙과 가장 밀접하게 관련되어 있습니다.

 

문제 5: 클래스에서 private 접근 제어 지시자로 선언된 속성의 특징으로 옳은 것은?

① 해당 클래스의 인스턴스를 통해서만 직접 접근할 수 있다.

② 해당 클래스 내부의 메소드를 통해서만 접근할 수 있다.

③ 해당 클래스를 상속받은 하위 클래스에서도 직접 접근할 수 있다.

④ 프로그램 내의 모든 곳에서 직접 접근할 수 있다.

 

정답: ② 해당 클래스 내부의 메소드를 통해서만 접근할 수 있다.

설명: private 접근 제어 지시자로 선언된 멤버는 해당 클래스 내부에서만 접근이 가능하며, 외부 클래스나 하위 클래스의 인스턴스를 통해서는 직접 접근할 수 없습니다. 캡슐화를 통해 데이터의 보안과 무결성을 유지하는 데 중요한 역할을 합니다.

 

#객체지향 #OOP #캡슐화 #Encapsulation #정보은닉 #InformationHiding #속성 #Attribute #연산 #Operation #메소드 #Method #클래스 #Class #접근제어 #AccessModifier #객체지향설계

 

728x90
LIST