C++에서 struct와 class는 둘 다 사용자 정의 타입을 정의할 때 사용하지만, 몇 가지 차이와 특징이 있습니다.

차이점

  1. 기본 접근 지정자:

• struct: 기본 접근 지정자는 public입니다.

• class: 기본 접근 지정자는 private입니다.

  1. 주 사용 용도:

• struct: 보통 데이터 구조체를 정의하는 데 사용하며, 값만 저장하는 경우에 자주 사용됩니다.

• class: 객체 지향 프로그래밍에서 객체를 정의하고 캡슐화를 적용하는 데 사용됩니다.

  1. 상속:

• struct: 상속 시 기본 접근 지정자는 public입니다.

• class: 상속 시 기본 접근 지정자는 private입니다.

장단점

struct의 장단점

장점:

• 간단한 데이터 구조를 정의하는 데 용이하며, 코드가 더 간결합니다.

• 기본 접근 지정자가 public이므로 값 타입의 데이터 구조를 정의할 때 직관적입니다.

단점:

• 캡슐화가 필요하거나 객체 지향적 개념이 필요한 경우 사용하기 부적합합니다.

class의 장단점