클래스와 구조체

less than 1 minute read


Struct

구조체는 C에서와 C++에서 전혀 다른 기능을 한다고 볼 수 있다. C에서는 단순히 연관된 데이터를 묶어주는 역할이 전부라고 볼 수 있었다면 C++에서는 클래스와 거의 동일한 기능을 한다.

C++에서 구조체

  • 변수와 메서드 선언 및 정의

  • 생성자와 소멸자 선언 및 정의

  • 상속 구조 사용가능

이렇게 클래스와 동일하게 사용이 가능하다고 볼 수 있다.


차이점

C++의 구조체와 클래스 차이점은 접근 지시자에서 볼 수 있다. 접근 지시자는 외부에서 접근할 때 제한을 두는 역할을 한다.

구조체는 기본적으로 public 상태로 외부에서 변수에 접근하여 초기화하거나 메서드를 호출하는것이 가능하다.

반대로 클래스는 기본적으로 private 상태로 내부에서만 접근할 수 있는 상태로 선언되어진다.

이는 기본값을 말하며 직접 접근 지시자 선언을 통해서 변경이 가능하다.