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