새소식

C++/Study

[C++] 클래스와 객체 요약

  • -

캡슐화 (Encapsulation)

  • 객체의 본질적인 특성 중 하나
  • 객체를 캡슐로 싸서 내부를 보호하고 외부에서 접근을 제한
  • 목적은 객체 내 데이터에 대한 보안과 보호, 외부 접근 제한

 

C++ 클래스와 객체

  • 클래스 : 객체를 만들어내기 위한 설계도 또는 틀로, 멤버 변수와 멤버 함수의 선언으로 구성
  • 객체 : 클래스의 모양을 그대로 가지고 생성되며, 멤버 변수와 멤버 함수로 구성

 

생성자 (Constructor)

  • 객체가 생성될 때 자동으로 호출되는 멤버 함수
  • 주요 목적은 객체 초기화, 메모리 할당, 파일 열기, 네트워크 연결 등
  • 생성자 이름은 클래스 이름과 동일하며 리턴 타입이 없다.
  • 여러 개의 생성자 중 하나만 실행되며, 선언되어 있지 않으면 기본 생성자가 자동으로 생성

 

소멸자 (Destructor)

  • 객체가 소멸될 때 자동으로 호출되는 함수
  • 주요 목적은 마무리 작업을 수행하는 것으로, 메모리 해제, 파일 저장 및 닫기, 네트워크 연결 해제 등이 있다.
  • 소멸자 함수의 이름은 "~"를 클래스 이름 앞에 붙여서 지정

 

접근 지정자 (Access Specifiers)

  • 객체의 캡슐화를 위해 사용
  • 세 가지 접근 지정자가 있으며, `private`, `public`, `protected`가 있다.
  • `private`는 동일한 클래스의 멤버 함수에서만 접근 가능하고, `public`은 모든 다른 클래스에서 접근 가능

 

인라인 함수 (Inline Function)

  • `inline` 키워드로 선언된 함수로, 호출 시 함수 코드를 직접 확장하여 사용
  • 실행 속도를 개선하는 데 사용되며, 자주 호출되는 짧은 코드의 함수에 적합
  • 컴파일러에 의해 처리되며, 클래스 선언부에 구현된 멤버 함수는 자동으로 인라인 함수로 처리

 

C++ 구조체 (Struct)

  • C++에서 구조체는 클래스와 매우 유사하지만, 디폴트 접근 지정이 `public`이다.
  • C 언어와의 호환성을 유지하기 위해 구조체를 사용

 

바람직한 C++ 프로그램 작성법

  • 클래스를 헤더 파일과 cpp 파일로 분리하여 작성
  • 클래스 선언부는 헤더 파일에 저장하고, 클래스 구현은 cpp 파일에 저장
  • 목적은 클래스의 재사용과 코드 구조의 유지 보수성을 높이는 것이다.

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

[C++] 예제 연습 / 23.10.10  (1) 2023.10.10
[C++] 예제 연습 / 23.09.22  (0) 2023.09.22
[C++] 기본 개념 요약  (0) 2023.09.12
[C++] 예제 연습 / 23.09.12  (0) 2023.09.12
[C++] 예제 연습 / 23.09.05  (0) 2023.09.06
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.