객체지향 C++

 내가 이해하기 쉽도록 쓴 객체지향

OOP (Object Oriented Programming) 객체지향 프로그래밍

객체지향의 중요한 3가지 특성

상속(Inheritance)
- 하위클래스가 상위클래스의 속성(변수, 함수)을 모두 쓸수있게 물려받는 것을 의미.

캡슐화(encapsulation)
1. 하나의 단위로 묶는 개념
 - 예를들어 슈팅게임을 만든다고 하자. 
 - 슈팅게임은 미사일과 타겟이 있다고 했을 때
 - 미사일과 타겟의 속성(변수, 함수)들을 두개의 클래스로 알맞게 나눠서 묶는것이다.


2. 정보은닉 개념
 - 위에서 미사일과 타겟의 클래스로 각각의 객체를 만들었을 때
 - 두개의 객체는 서로 필요한 정보가 있을수도 있고 없을수도 있다.
 - (예를들어 타겟에서는 미사일속도(변수)나 미사일을쏘세요(함수)가 필요가 없다.)
 - 이것을 다른객체에서는 보이지 않도록(참조라던지 변경을 못하게) 하는 것 이다.


다형성(polymorphism)
- C++에서 다형성은 클래스의 다형성을 의미한다.
- 기본 클래스(혹은 인터페이스) A가 있고 이 클래스(혹은 인터페이스)를 상속받은 B,C클래스가 있을 때
- B,C를 모두 인스턴스화(객체화) 시킨 후
- 하나의 메시지(메서드)를 각 객체에 던졌을 때
- 각각 객체에 맞는 메서드들이 호출되는 것이다.

덧글

댓글 입력 영역