일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SDLC
- stride
- MAC
- OSI 7계층
- MLFQ
- STCF
- 운영체제
- frequency-domain spectrum analysis
- Trap
- Unity #Indie Game
- 게임 개발
- 배경 그림
- 유스케이스
- link layer
- protection
- Security
- 컴퓨터 네트워크
- unity
- DSP
- SJF
- polymorphism
- Waterfall
- information hiding
- 메카님
- AINCAA
- FIFO
- DP
- 유니티
- 게임개발
- OWASP
- 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 |