속성과 관련된 연산(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 #객체지향설계
'정보처리기사 > 기출문제풀이(정보처리기사)' 카테고리의 다른 글
[정보처리기사] 재사용되는 모든 단위라고 볼 수 있으며, 인터페이스를 통해서만 접근할 수 있는 것은? (0) | 2025.04.30 |
---|---|
[정보처리기사 기출문제] 애자일(Agile) 프로세스 모델에 대한 설명으로 틀린 것은? (1) | 2025.04.29 |
[정보처리기사 기출문제] 객체에 대한 설명으로 틀린 것은? (1) | 2025.04.29 |
소프트웨어 개발 영역을 결정하는 요소 중 다음 사항과 관계있는 것은? (0) | 2025.04.29 |
객체지향 개념에서 다형성(Polymorphism)과 관련한 설명으로 틀린 것은? (0) | 2025.04.29 |