cpp5

2023. 11. 4. 20:54개발하는중/cpp

728x90
반응형

 

객체? 소프트웨어 시스템 안의 어떠한 대상을 표현 한 것

 

클래스? 객체의 설계도

객체가 포함할 데이터 멤버의 선언과 멤버함수의 정의를 포함

 

클래서 선언

형식

class classname{

 

}

 

캡슐화(encapsulateion) 

객체 내부의 상세한 구현 부분과 외부 사용자의 관점을 분리함

 

객체 정의

형식

classname objname;

classname objname1, objname2;

 

객체 사용 형식

객체 이름에 멤버선택 연산자 '.' 를 사용하여 객체의 멤버에 접근함 

 

생성자(constructro)?

객체가 생성될 때 수행할 잡업을 정의하는 특수한 멤버함수

생성자에 인수를 전달할 수 있도록 매개변수를 선언할 수 있음

생성자를 여러 개 다중 정의 할수 있음

 

특성

클래스의 이름을 사용하여 선언

생성자 머리에 반환 자료형을 표기하지 않으며, return 명령으로 값을 반환 할수 없음

생성자를 public으로 선언해야 클래스 외부에서 객체를 생성할 수 있음

 

class A{

    public :

             A( parameters ){// 생성자

            

              }

 

}

 

초기화 리스트?

생성자 머리에 데이터 멤버를 초기화하는 값들을 나열한 리스트

 

소멸자(destructor)?

객체가 소멸될 때 수행할 잡업을 정희하는 특수한 멤버함수

 

특성

클래스 이름에 ~를 붙여 선언

소멸자 머리에 반환 자료형을 표기하지 않으며, return 명령 으로 값 반환 불가

매개변수가 없으며, 클래스 하나의 소멸자만 정의할 수 있음

public으로 선언하는 것이 일반적

상속을 통해 파생 클래스를 정의하는 경우 virtural을 지정하여 가상함수가 되도록 하는 것이 좋음

class A{

    public :

             A(parameters){// 생성자

            

              }

              ~A(){ // 소멸자 // 매개변수 사용 불가능

 

             }

 

};

 

  1. 클래스는 프로그램이 표현하고자 하는 대상(객체)이 어떠한 속성(데이터 멤버)을 저장하고 있어야 하고, 어떤 행위(멤버함수)을 할 수 있는가를 선언한 것이다.
  2. 클래스에 해당되는 실제 사례(instance)를 객체(object)라고 한다. 객체는 고유한 속성값(데이터 멤버의 값)을 가지며, 이를 바탕으로 클래스에 정의된 행위를 할 수 있다.
  3. 가시성 지시어 private, public, protected는 클래스의 멤버가 공개되는 범위를 지정하기 위해 사용되는데, 정보은닉을 위해 private을, 외부에 제공할 인터페이스를 공개하기 위해 public을 사용한다.
  4. 클래스에서 데이터 멤버의 값을 변경하지 않는 멤버함수는 const 멤버함수로 정의한다.
  5. 생성자는 객체가 생성될 때 수행할 작업을 정의하는 특수한 멤버함수로서, 클래스 이름과 동일한 이름으로 선언하며, 일반적으로 객체를 초기화하는 작업을 수행한다.
  6. 소멸자는 객체가 소멸될 때 수행할 작업을 정의하는 특수한 멤버함수로, 클래스 이름과 동일한 이름에 앞에 ‘~’를 붙여 선언하며, 객체가 가지고 있는 자원을 반납하는 등의 처리를 담당한다.
728x90

'개발하는중 > cpp' 카테고리의 다른 글

cpp7  (4) 2023.11.09
cpp6  (0) 2023.11.04
cpp4  (1) 2023.11.02
cpp3  (1) 2023.10.21
cpp2  (0) 2023.09.25