본문 바로가기

c++

C++ 클래스, 접근지정자

C++에서 class는 객체 지향 프로그래밍(OOP)의 기본적인 요소 중 하나입니다. Class는 일종의 사용자 정의 데이터 타입으로, 데이터와 이를 다루는 함수를 하나의 논리적 단위로 묶어서 구현합니다. 즉, 데이터와 함수를 하나의 단위로 캡슐화하는 것입니다.

Class는 멤버 변수와 멤버 함수로 구성됩니다. 멤버 변수는 클래스 내부의 데이터를 나타내며, 멤버 함수는 클래스의 기능을 구현합니다. 클래스의 멤버 변수와 멤버 함수는 일반적으로 private, public 또는 protected 세 가지 접근 제어 지시자 중 하나로 지정됩니다.

  • private: 해당 멤버는 클래스 내부에서만 접근 가능합니다.
  • public: 해당 멤버는 클래스 외부에서도 접근 가능합니다.
  • protected: 해당 멤버는 상속 관계에서 파생 클래스에서도 접근 가능합니다.

앞서 구조체에서 다뤘지만, 접근지정자를 설정하지 않을 경우에, 구조체에서는 기본적으로 public으로, 클래스에서는 기본적으로 private으로 설정이 됩니다.

 

Class는 객체를 생성하는데 사용됩니다. 객체는 클래스를 기반으로 만들어진 실체입니다. 객체는 클래스의 멤버 변수와 멤버 함수를 사용할 수 있으며, 각 객체는 서로 다른 데이터를 가질 수 있습니다. 객체를 생성하려면 클래스를 기반으로 인스턴스를 만들어야 합니다.

아래는 간단한 클래스의 예시입니다.

 

위의 코드에서 Rectangle 클래스는 width와 height라는 멤버 변수와 set_values()와 area()라는 멤버 함수를 가지고 있습니다. set_values()는 width와 height를 초기화하는 함수이고, area()는 면적을 계산하는 함수입니다. 이 클래스를 기반으로 객체를 생성하면 각 객체는 서로 다른 width와 height 값을 가지게 됩니다.

'c++' 카테고리의 다른 글

c++ 레퍼런스에(& 대해 알아보자(Reference)  (0) 2023.03.06
c++ 포인터를 정말 쉽게 알아보자  (0) 2023.03.05
C++ 구조체 (struct)  (0) 2023.03.04
C++ 함수( Function)  (0) 2023.03.04
c++ 조건문 (if문)  (0) 2023.03.04