본문 바로가기
프로그래밍/C++

[C++] C++과 객체 지향 프로그래밍(OOP) 기초 개념

by virusuk 2023. 3. 4.
반응형

C++과 객체 지향 프로그래밍

  • 객체지향의 특징
    1. 캡슐화 (Encapsulation)와 정보 은닉(Information hiding)
      • C++은 클래스(Class)를 통해서 지원합니다.
      • 사용자는 객체가 내부적으로 동작하는 방법에 대해서는 알거나 신경 쓰지 않아도 됩니다.
      • 사용자는 클래스의 함수 이름과 파라미터(Parameter)의 형식만 알면 됩니다.
    2. 상속(Inheritance)과 코드의 재사용
      • 상위 클래스가 가진 속성과 메서드를 하위 클래스가 그대로 물려받아서 사용합니다. 
      • C++는 상속을 통해 재사용을 지원합니다.

    3. 다형성(Polymorphism)
      • 동일한 부모로부터 상속받은 어떤 함수가 상속받은 클래스(Class)의 특징에 따라서 다르게 동작합니다.
        즉, 부모로부터 상속받은 동일한 이름의 메서드(Method)를 여러 가지 형태의 다른 동작방식으로 재정의가 가능합니다.
      • 오버로딩(Overloading): 함수명은 같으며, 매개변수의 타입이나 개수가 다른 함수로 중복선언을 합니다.
      • 오버라이딩(Overriding):  부모 클래스(Class)의 함수를 상속받아서 자식 클래스(Class)가 함수의 동작을 재정의합니다.

※ 오버로딩(Overloading)과 오버라이딩(Overriding)은 헷갈리지 않고 개념을 이해하는 것이 중요합니다.!

반응형