소개
Settings

Chats

구조체와 클래스의 차이점은?

1
프로그래밍 언어C++OOP

개요

이 문서는 C++에서 구조체(structure)와 클래스(class)의 차이점을 정리한 것이다.

서론

C++에서 구조체와 클래스는 문법적으로 매우 비슷하다. 기본적으로 두 문법 모두 변수와 함수(메서드)를 포함하여 새로운 데이터 타입을 정의하는 역할을 한다. 또한 C++에서는 구조체에도 함수를 포함할 수 있다. 이런 이유로 C++의 구조체는 클래스와 매우 유사해 보인다.

이 문서에서는 구조체와 클래스의 차이점을 설명한다.

구조체와 클래스의 차이점

결정적인 차이는 객체지향 프로그래밍(OOP) 에 있다. C++의 클래스는 OOP를 구현하기 위한 문법이다. 예를 들어, 클래스 멤버의 기본 접근 제어자는 private이며, 이는 OOP의 특징 중 하나인 캡슐화(Encapsulation) 를 지원한다.

아래는 차이점을 정리한 표이다.

클래스구조체
목적OOP를 지원하기 위해 사용변수와 함수를 묶기 위해 사용
접근 제어자기본적으로 멤버가 private기본적으로 멤버가 public
선언 방법class 키워드를 사용하여 선언struct 키워드를 사용하여 선언
사용 용도데이터 추상화 및 상속 등에 주로 사용서로 다른 데이터 타입을 묶는 용도로 주로 사용

마무리

내가 처음 배운 객체지향 언어인 Java에는 구조체 문법이 없어서 이런 차이를 공부할 기회가 없었다. 하지만 이번 기회를 통해 클래스와 구조체의 차이를 살펴볼 수 있어서 좋았다.