시작은 미미하나 끝은 쥬쥬하리라.

Study/Passionate C++ Programming

[열혈 C++ 프로그래밍] (3) 클래스의 기본

코딩뚜벅이 2024. 1. 21. 12:35

클래스의 기본

  • C++ 구조체
  • 클래스와 객체
  • 객체지향 프로그래밍의 이해

C++ 구조체

연관 데이터를 묶어 구현 및 관리하기 용이하게 하기 위한 문법적 장치
구조체 내부의 함수들은 인라인 함수로 동작 -> 함수를 구조체 밖으로 이동 시 인라인 처리 X
C++ 구조체 :
- 구조체 내부에 함수와 enum 상수까지 선언 가능
- struct라는 키워드를 사용하는 클래스
- struct 선언 시 디폴트로 public 선언

 


 

클래스와 객체

클래스

연관 데이터와 연관 함수의 집합
- 클래스 선언 시 디폴트 private -> 접근 제어 선언 없이 외부에서 클래스 멤버 사용 불가
객체 : 클래스를 대상으로 생성된 변수
멤버 변수 : 클래스 내부에 선언된 변수
멤버 함수 : 클래스 내부에 선언된 함수
파일 분할 :
- 헤더파일 : 함수 및 클래스의 선언(클래스 선언은 멤버 함수의 선언을 포함하기 때문에) + 인라인 함수
-> 인라인 함수는 컴파일 과정에서 함수의 호출문을 몸체가 대체하기 때문에)
- 소스파일 : 함수의 몸체 -> 컴파일 과정이 아닌 링크를 통해 하나의 바이너리를 구성하는데 필요하기 때문

 

 

접근제어 지시자

public : 어디서든 접근 허용
protected : 상속 관계인 경우, 유도 클래스에서 접근 허용
private : 클래스 내부에서만 접근 허용

 

 


 

객체지향 프로그래밍의 이해

객체 : 데이터 + 기능

객체지향 프로그래밍 : 모든 행위와 표현을 포함하는 프로그래밍
main : 프로그램 동작을 미리 세팅해주는 역할
컨트롤 클래스(핸들러 클래스) : 프로그램의 흐름을 담당하는 클래스
+ 컨트롤 클래스가 아닌 대부분의 클래스 : Entitiy 클래스
Entity클래스 특징 :
데이터적 성격, 프로그램의 기능을 파악하는데 도움을 주지는 못함