클래스의 기본
- C++ 구조체
- 클래스와 객체
- 객체지향 프로그래밍의 이해
C++ 구조체
연관 데이터를 묶어 구현 및 관리하기 용이하게 하기 위한 문법적 장치
구조체 내부의 함수들은 인라인 함수로 동작 -> 함수를 구조체 밖으로 이동 시 인라인 처리 X
C++ 구조체 :
- 구조체 내부에 함수와 enum 상수까지 선언 가능
- struct라는 키워드를 사용하는 클래스
- struct 선언 시 디폴트로 public 선언
클래스와 객체
클래스
연관 데이터와 연관 함수의 집합
- 클래스 선언 시 디폴트 private -> 접근 제어 선언 없이 외부에서 클래스 멤버 사용 불가
객체 : 클래스를 대상으로 생성된 변수
멤버 변수 : 클래스 내부에 선언된 변수
멤버 함수 : 클래스 내부에 선언된 함수
파일 분할 :
- 헤더파일 : 함수 및 클래스의 선언(클래스 선언은 멤버 함수의 선언을 포함하기 때문에) + 인라인 함수
-> 인라인 함수는 컴파일 과정에서 함수의 호출문을 몸체가 대체하기 때문에)
- 소스파일 : 함수의 몸체 -> 컴파일 과정이 아닌 링크를 통해 하나의 바이너리를 구성하는데 필요하기 때문
접근제어 지시자
public : 어디서든 접근 허용
protected : 상속 관계인 경우, 유도 클래스에서 접근 허용
private : 클래스 내부에서만 접근 허용
객체지향 프로그래밍의 이해
객체 : 데이터 + 기능
객체지향 프로그래밍 : 모든 행위와 표현을 포함하는 프로그래밍
main : 프로그램 동작을 미리 세팅해주는 역할
컨트롤 클래스(핸들러 클래스) : 프로그램의 흐름을 담당하는 클래스
+ 컨트롤 클래스가 아닌 대부분의 클래스 : Entitiy 클래스
Entity클래스 특징 :
데이터적 성격, 프로그램의 기능을 파악하는데 도움을 주지는 못함
'Study > Passionate C++ Programming' 카테고리의 다른 글
[열혈 C++ 프로그래밍] (6) friend, static, const (1) | 2024.01.21 |
---|---|
[열혈 C++ 프로그래밍] (5) 복사 생성자 (1) | 2024.01.21 |
[열혈 C++ 프로그래밍] (4) 클래스의 완성 (0) | 2024.01.21 |
[열혈 C++ 프로그래밍] (2) C언어 기반 C++ 2 (1) | 2024.01.21 |
[열혈 C++ 프로그래밍] (1) C언어 기반 C++ 1 (0) | 2024.01.21 |