오뚝이개발자

[자료구조 및 알고리즘] CH2. From Structures to Class 본문

CS 기초/자료구조 및 알고리즘

[자료구조 및 알고리즘] CH2. From Structures to Class

땅어 2020. 10. 21. 16:01
728x90
300x250

 

클래스란?

  • 데이터와 함수를 하나로 묶어둔 것
  • 부연설명) C에서 구조체(struct)는 오로지 데이터만 가지고 있고 함수(기능)는 구조체의 외부에 정의된다. 하지만 C++ 같은 OOL에서는 이 둘을 한 데 묶어 class라는 것으로 정의한다. 더불어, class로 생성된 object의 자료형이 바로 해당 class이다.

Object(=Instance)란?

  • 클래스에 의해 정의된 variable
  • 예컨대, stack S라 하면 S가 stack class의 object(instance)이다.

Encapsulation(캡슐화)이란?

  • data와 function을 class로 묶는 것

클래스에서 private member와 public member란?

  • private member : class의 밖에서 access 불가
  • public member : class의 밖에서도 access 가능

Data hiding(Information hiding, 정보은닉)이란?

  • 사용자가 data에 직접 접근해 조작하여 클래스의 operation을 invalid하게 만들어 버릴 수 있는 data들에 대해 private member로 설정해 자유로운 접근을 제한하는 것

Constructor(생성자)란?

  • 특정 class의 object가 선언될 때 자동으로 실행되어 해당 객체를 initializing하는 함수
  • 클래스 내의 다른 함수들과 마찬가지로 member function이지만 큰 차이점 두 가지가 있다.
    • return value가 없다.(void 조차 아니다. 그냥 존재하지 않기 때문에 함수 prototype에 return value 자료형도 안씀)
    • 생성자의 이름은 클래스의 이름과 동일

Function overloading이란?

  • 둘 이상의 함수가 서로 같은 이름을 가질 수 있는 것
  • 대신, parameter로 구분(갯수, type)

Destructor(소멸자)란?

  • 객체(object)에 의해 사용된 메모리를 반납(deallocation)하는 함수

 

728x90
300x250
Comments