본문 바로가기
Programming/C++

객체 지향 기본 개념

by OKOK 2018. 5. 7.

캡슐화(묶음+보호) 

클래스 내부에서 여러 속성과 여러 오퍼레이션을 함께 묶음을 의미.

클래스 내부의 속성이나 오퍼레이션을 외부에 노출하지 않고 보호하는 것. 


추상화(공통) 

객체에서 공통된 속성과 행위를 추출하는 것. 객체 기술 사전에 따르면 중요하지 않거나, 주 관심 대상이 아닌 자세한 부분은 감추거나 무시하고, 가장 중요하고, 근간이 되고, 다른 대상들과 구분될 수 있는 면만을 포함하고 있는 모델이며, 공통점을 강조하기 위해 차이점을 제거한 결과물. 


상속 

자신이 가지고 있는 것을 하위에 물려주거나, 하위에서 물려받는 것. 

재사용으로 인해 코드가 줄어듬. 하위 클래스에서 오퍼레이션을 다시 정의하지 않고 상속받아서 사용함으로써 코드가 줄어듬. 좀 더 범용성 있게 사용할 수 있음. 또한 자신만의 자료와 메소드를 추가적으로 덧붙임으로써 새로운 형태의 클래스로 발전할 수 있음.


다형성 

다양한 형태로 나타낼 수 있는 능력. 여러 클래스들이 동일한 이름의 오퍼레이션을 가능하도록 하는 것. 하나의 클래스 내부에 같은 이름의 오퍼레이션을 여럿 정의하거나, 상위 클래스의 오퍼레이션을 하위 클래스에서 다시 정의함으로써 구현합니다. 

상위 클래스에 있고 상속받았으나 하위 클래스에서 다시 정의하는 것을 메소드 오버라이딩 이라고 합니다.

클래스 내부에 동일한 이름의 오퍼레이션을 여럿 정의하는 것이 오버로딩입니다.