본문으로 바로가기

2021.03.25 - [이론공부/객체지향 프로그래밍] - 객체지향 프로그래밍 공부#2 (추상화에서 객체지향 프로그래밍 까지)

 

객체지향 프로그래밍 공부#2 (추상화에서 객체지향 프로그래밍 까지)

2021.03.15 - [이론공부/객체지향 프로그래밍] - 객체지향 프로그래밍 공부#1 (OOP를 공부해야하는 이유) 객체지향 프로그래밍 공부#1 (OOP를 공부해야하는 이유) 구조화 프로그램 일반적으로 순차, 조

thesauro.tistory.com

이전 내용이다.

인라인

Class Cpoint{
	int iX;
	int iY;
    
    public:
    void Assign(int x, int y){
    	iX = x;
    	iY = y;
    }
    
    int Add(){
    	Assign(3, 7);
        return iX + iY;
    }

};

Cpoint obj1;

 

위와 같이 클래스 내부에 작성되어 있는 함수를 인라인 함수라 한다

 

 

아웃오브라인

Class Cpoint{
	int iX;
	int iY;
    
    public:
    void Assign(int x, int y);
    int Add();

};


    void CPoint::Assign(int x, int y){
    	iX = x;
    	iY = y;
    }
    
    int CPoint::Add(){
    	Assign(3, 7);
        return iX + iY;
    }

Cpoint obj1;

 

위와 같이 클래스 위부에 작성되어 있는 함수를 아웃오브라인 함수라고 한다.

인라인에 비하면 가독성이 조금더 좋아진다.

 

 

생성자

객체가 생성이 될떄 자동으로 실행되는 클래스 멤버 함수이다.

 

Class Cpoint{
	int iX;
	int iY;
    
    public:
    
    Cpint(){
    // 생성자 함수
    }
    
    
    void Assign(int x, int y){
    	iX = x;
    	iY = y;
    }
    
    int Add(){
    	Assign(3, 7);
        return iX + iY;
    }

};

Cpoint obj1;

 

클래스명(){ 초기화 코드 } 식으로 사용이 된다.

 

소멸자

객체가 반대로 제거될때 실행되는 클래스 멤버 함수 이다.

Class Cpoint{
	int iX;
	int iY;
    
    public:
    
    ~Cpint(){
    // 소멸자 함수
    }
    
    
    void Assign(int x, int y){
    	iX = x;
    	iY = y;
    }
    
    int Add(){
    	Assign(3, 7);
        return iX + iY;
    }

};

Cpoint obj1;

 

~클래스명(){ 초기화 코드 } 식으로 사용이 된다.

(시작점 ~ 끝) 이런느낌으로 생각하자.

 

 

클래스에 용도 이해를 위해선 다음 리스트를 감각적으로 라도 이해하자.

  • 클래스는 객체를 만들라고 있는것이다.
  • 항상 객체가 언제 어디에서 만들어지는지 생각하자.
  • 맴버는 맴버를 직접 액세스 할 수 있다.
  • 클래스를 보지말고 객체를 보자.

내용이 이전에 비하면 가볍다. 추가로 이전 내용을 이해하면 바로 이해할 수 있지만 추가로 언급하면, 클래스 내부에 멤버 함수는 클래스 내부에 있는 맴버 함수와, 변수에 엑세스가 가능하다.
느낀점 : 이번 수업은 가볍게 이해만 하고 넘기자.