반응형
C++과 객체 지향 프로그래밍
- 객체지향의 특징
- 캡슐화 (Encapsulation)와 정보 은닉(Information hiding)
- C++은 클래스(Class)를 통해서 지원합니다.
- 사용자는 객체가 내부적으로 동작하는 방법에 대해서는 알거나 신경 쓰지 않아도 됩니다.
- 사용자는 클래스의 함수 이름과 파라미터(Parameter)의 형식만 알면 됩니다.
- 상속(Inheritance)과 코드의 재사용
- 상위 클래스가 가진 속성과 메서드를 하위 클래스가 그대로 물려받아서 사용합니다.
- C++는 상속을 통해 재사용을 지원합니다.
- 다형성(Polymorphism)
- 동일한 부모로부터 상속받은 어떤 함수가 상속받은 클래스(Class)의 특징에 따라서 다르게 동작합니다.
즉, 부모로부터 상속받은 동일한 이름의 메서드(Method)를 여러 가지 형태의 다른 동작방식으로 재정의가 가능합니다. - 오버로딩(Overloading): 함수명은 같으며, 매개변수의 타입이나 개수가 다른 함수로 중복선언을 합니다.
- 오버라이딩(Overriding): 부모 클래스(Class)의 함수를 상속받아서 자식 클래스(Class)가 함수의 동작을 재정의합니다.
- 동일한 부모로부터 상속받은 어떤 함수가 상속받은 클래스(Class)의 특징에 따라서 다르게 동작합니다.
- 캡슐화 (Encapsulation)와 정보 은닉(Information hiding)
※ 오버로딩(Overloading)과 오버라이딩(Overriding)은 헷갈리지 않고 개념을 이해하는 것이 중요합니다.!
반응형