리그캣의 개발놀이터

소프트웨어 설계 - 캡슐화 상속 본문

프로그래밍 기본/소프트웨어 설계

소프트웨어 설계 - 캡슐화 상속

리그캣 2018. 1. 25. 19:38

An object has

  • State : attribute(UML)  데이터 필드

  • Behavior : operation(UML) 메소드

  • Identity : instance 객체   ( 객체자체는 내용이 같더라도 identity(개성) 이 있음)

유사한 객체들을 Class로 구분한다.

Encapsulation(캡슐화)

Public interface를 외부에 제공해 주고, 메시지를 호출해서 ….

내부가 어떻게 생긴지 굳이 알아야 될 필요가 없는 부분은 안보여주고 Public interface 부분만 외부에 제공.

이를 객체에 메시지를 보낸다 고 표현.

Inheritance(상속)

UML에서는 Generalization이라고 한다. Superclass를 상속받아 스페셜한 Subclass를 만들어 냄.

즉, Subclass는 Superclass의 기존의 제너럴한 특성을 물려받아(Inheritance) 스페셜한 클래스가 만들어진다.

Abstract Class

Polymorphism(다형성)

같은 메시지에 서로 다른 결과를 낸다.

Interface

서비스를 정의 하는 스페셜한 클래스

UML 에서 interface의 메소드는 추상 메소드 이지만 따로 abstract을 쓰지 않는다. 왜냐 하면 interface 자체의

의가 있기 때문이다.

Comments