본문 바로가기
정보관리기술사/★ 131회 기출문제 풀이 ★

(131 관리 1-12) 객체지향 방법론에서 캡슐화(Encapsulation)와 정보은닉(Information Hiding)

by 두음달인 2023. 9. 8.
반응형


객체지향 방법론에서 캡슐화(Encapsulation)와 정보은닉(Information Hiding)

멘토링

SW 공학 도메인에서 객체지향 설계 5원칙, 기법 등은 빈출 토픽입니다. 
꼼꼼하게 준비하는 게 필요합니다.

- 주요 키워드 -

캡슐화 (Encapsulation)
추상화 (Abstraction)
상속 (Inheritance)
다형성 (Polymorphism)
정보 은닉 (Information Hiding)

단일 책임 원칙 (Single Responsibility Principle)
개방-폐쇄 원칙 (Open-Closed Principle)
리스코프 치환 원칙 (Liskov Substitution Principle)
인터페이스 분리 원칙 (Interface Segregation Principle)
의존성 역전 원칙 (Dependency Inversion Principle)

캡슐화(Encapsulation)

 

객체의 상태와 행위를 하나로 묶어 외부에서 접근을 제한하여 객체의 내부를 보호하는 개념

변수와 함수(메소드)를 하나의 단위로 묶는 것

 

특징 설명
묶음 상태와 행위를 객체 내부에 묶어 하나의 독립된 단위로 표현
정보 은닉 내부 상태를 외부로부터 숨기고, 공개된 메서드로만 접근 가능
데이터 보호 외부에서의 무결성을 보장하고, 부적절한 접근을 방지
모듈화 객체는 독립된 모듈로, 변경 시 다른 부분에 미치는 영향 최소화
코드 재사용 동일한 객체를 여러 곳에서 사용하며 중복 코드를 줄임
시스템 유지보수 객체의 내부 구현 변경이 외부에 미치는 영향 최소화

 

정보은닉(Information Hiding)

 

객체의 내부 상태를 외부에서 직접 접근하지 못하도록 하여,
객체 간의 상호작용을 명확히 정의하고 의존성을 줄이는 개념

프로그램의 세부적 구현사항을 외부로 드러내지 않도록 하는 것

 

특징
내부 상태 숨김 객체의 내부 상태를 외부에서 직접 접근할 수 없도록 함
접근 제어 접근 제어 지시자(private, protected 등)를 사용하여 접근 제한
데이터 보호 외부에서의 무결성을 보장하고, 부적절한 접근을 방지
유연한 구조 내부 구현 변경이 외부에 미치는 영향을 최소화
코드의 안정성 불필요한 접근을 방지하여 예상치 못한 오류를 방지

기출문제

 

올해에만 객체지향 캡슐화 문제가 2번 출제되었네요. 

이 문제는 응시하신 대부분 예비기술사님들이 고득점이 예상되는데, 실수했다면 뼈 아플 듯합니다. 

 

(관리 129-1-9)
객체지향 프로그래밍의 캡슐화(Encapsulation)

 

(관리 131-1-12)
객체지향 방법론에서 캡슐화(Encapsulation)와 정보은닉(Information Hiding)

 

참고 자료

 

2022.06.30 - [정보관리기술사/SW 공학] - 객체지향 기법의 원리 - "캡추상다연정"

 

객체지향 기법의 원리 - "캡추상다연정"

두음 및 연상 스토리 설명 두음 암기법은 자신에게 잘 맞는것을 취사 선택하시면 됩니다. 객체지향 기법 원리 위한 두음을 "캡추다정상" 이라고 암기하는 분들도 많은데, 찾아보니 "캡틴 아메리

peimsam.tistory.com

 

2023.01.10 - [(Pilot) 탑기공/소프트웨어 개발] - [탑기공] 객체 지향 설계 5원칙 - SOLID

 

[탑기공] 객체 지향 설계 5원칙 - SOLID

SOLID에 대해 모르시는 분이 없으실 듯한데. 2022.07.01 - [정보관리기술사/SW 공학] - 객체지향 설계 원칙 - "SOLID" 객체지향 설계 원칙 - "SOLID" 두음 및 연상 스토리 설명 SW 공학 도메인의 국민 토픽인

peimsam.tistory.com

 

자바[Java] 캡슐화[Encapsulation]란? 무엇인가? (tistory.com)

 

자바[Java] 캡슐화[Encapsulation]란? 무엇인가?

캡슐화는 관련이 있는 변수와 함수를 하나의 클래스로 묶고 외부에서 쉽게 접근하지 못하도록 은닉하는게 핵심입니다. 객체에 직접적인 접근을 막고 외부에서 내부의 정보에 직접접근하거나

radait.tistory.com

 

ChatGPT

반응형

댓글