Step-by-Step

[C++] Struct와 Class 본문

언어/C++

[C++] Struct와 Class

희주(KHJ) 2022. 11. 29. 15:03

JAVA는 Class를 이용하여 객체를 만드는데,

C++은 Class가 있음에도 불구하고 다들 Struct를 사용하는 걸까

 

일단 구조는 비슷하다 (거의 똑같음)

 

 

중요한 차이는 접근제어자에 있다.

 

접근제어자

  1. private : 동일 클래스 내에서만 접근 가능
  2. protected : 해당 클래스와 상속받은 파생 클래스에서만 접근 가능
  3. public : 어디서든 접근 가능

※ 참조 : JAVA는 package 개념이 있지만, C/C++은 없다.

 

Class vs Struct

  • Class : private이 default
  • Struct : public이 default

 

예를 들어보자

클래스 객체를 생성하고, 메소드를 이용하여 값을 가져오는 코드이다.

 

private 멤버라 접근할 수 없다고 나온다.

 

해결

이런식으로 public 접근지정자를 붙여주면 해결할 수 있다.

 

 

확실히 private이 기본 접근제어자면 개발시 별다른 작업 없이 객체지향의 장점인 은닉성을 실현할 수 있다.

나는 알고리즘 풀이에 집중하고 있기 때문에 struct가 더 유용한 듯 하다.

'언어 > C++' 카테고리의 다른 글

[C++] 백준1915 - 가장 큰 정사각형  (0) 2022.12.15
[C++] Struct, priority_queue 간단한 사용  (0) 2022.11.15
[C++] Queue / Stack / Pair  (0) 2022.10.28
[C++] 백준2293 - 동전 1  (0) 2022.10.26
[C++] 기본 입출력  (0) 2022.10.26
Comments