일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- DP
- dirty cow
- 운영체제
- MLFQ
- MAC
- CTF
- 배경 그림
- Security
- Unity #Indie Game
- Double free
- 게임 개발
- ret2libc
- 언리얼엔진
- linear difference equation
- pdlc
- RBAC
- stride
- sampling theory
- Rr
- STCF
- TSet
- DSP
- frequency-domain spectrum analysis
- 메카님
- AINCAA
- Race condition
- dtft
- 유스케이스
- 유니티
- 게임개발
- Today
- Total
다양한 기록
OOP #2: Encapsulation, Information hiding (혹은 Abstraction), Message 본문
Encapsulation (캡슐화)
- 데이터와 연산의 번들
- 관련된 것들을 함께 묶음
Information Hiding (정보 은폐)
- 객체를 하나의 Black box 취급
- 일부는 완전히 은폐, 일부는 공개
- 객체의 사용자들은 공개된 인터페이스를 통해서만 객체에 접근 가능
- 숨겨진 데이터에 대한 직접 접근은 허용되지 않으며 오류를 발생시킴
Abstraction (추상화)
객체지향의 특성은 어디는 정보 은폐, 어디는 추상화라고 함
비슷하면서도 다른 개념
추상화는 어찌보면 요약이라고 생각할 수도 있고, 말 그대로 추상적인, 대략적인 표현이라 볼 수도 있음
- 상위 클래스에서 추상 메소드만 정의해두고 서브 클래스에서 정의하는 것도 추상화
- 내부를 안보이게 해서 요약한다고 이해하는 것도 가능
접근 지정자(visibility specifier)
C++ : private, protected, public, friend
Java : private, protected, public
protected
- 자신과 자식들만을 위한 것
- Java는 + 같은 패키지 내에서 사용 가능
정보 은폐의 장점
- Higher Module Independency (독립성)
- Better Maintainability (유지보수성)
- Better Extensibility (확장성)
- Internal representaton or algorithms in an object can be changed without affecting other objects (독립성)
- Provides abstract view of objects (추상화)
Message
- 오브젝트가 다른 오브젝트에 메시지 샌딩
- 오브젝트 이름, 메소드, 인자로 구성
'소프트웨어공학' 카테고리의 다른 글
UML 개요 (0) | 2024.10.20 |
---|---|
OOP #3 : Class, Instance, Polymorphism (0) | 2024.10.20 |
OOP #1 : 등장, 객체란? (0) | 2024.10.20 |
SW Myths, 등장 배경, (0) | 2024.10.20 |
소프트웨어 공학이란 (0) | 2024.10.20 |