UML

객체지향을 이루는 몇가지 개념

레이드리안 2014. 3. 16. 09:17

*추상화 (Abstraction)

-실세계에 존재하는 객체들을 프로그램으로 변환하기 위해 객체들의 공통된 특성을  파악하고 불필요한 특성들은 제거하는 과정을 거치는것.




*상속(Inheritance)

-하나의 객체는 클래스의 인스턴스로 그 클래스의 모든 특성을 이어 받는것.


-상속은 항상 IS A 관계가 성립한다.

   Dog is a Animal.

기존의 작성되어있는 클래스를 상속해주는 클래스를 슈퍼클래스(Super Class), 부모클래스(Parent Class), 베이스클래스(Base Class)라고 부르며, 이 클래스를 의 기능을 가져다 쓰는 클래스를 서브클래스(Sub Class), 자식클래스(Child Class), 파생클래스(Derived Class)라고 부른다.


*다형성(Polymorphism)

-Poly란 많다는걸 의미하고, morph는 형태를 의미한다. 객체지향에서 다형성은 크게 오버라이딩(Overriding)과 오버로딩(Overloading)를 말한다

오버라이딩은 상속과 연관되어 있는 부모 클래스에서 정의된 메소드릐 기능을 확장, 재정의 하는것

오벌딩은 같은 이름의 다양한 파라메터 리스트를 가진 메소드들을 정의하여 여러 형태의 메세지를 단일 행위 처리 할수 있도록 하는것

구  분

오버 로딩 

오버 라이딩 

의  미 

다중 정의 

재 정의 

정의 규칙 

-같은 메소드명

-다른 파라메터형식

-같은 메소드명

-같은 파라메터형식 

적  용 

 여러 형태의 메시지 처리를 위한 

단일 행위 구현

부모 클래스의 메소드를 재정의 


*캡슐화(Encapsulation)

-캡슐화를 통해 블랙박스 함수를 구현할 수 있다.

-블랙박스 함수 란 사용하는 사람이 코드가 어떻게 동작되는지 알필요가 없고, 단지 함수를 어떻게 호출하고 어떤 결과를 얻게 되는지만 알면됨.


-사용자는 TV를 보기 위해 리모컨으로 TV를켜고 TV에서는 어떻게 영상이 어떤 방식으로 구동되는지 몰라도 시청이가능하다.