300x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 동적프로그래밍
- 프로그래머스
- 운영체제
- OS
- 파이썬
- google coding competition
- 네트워크
- 브루트포스
- 순열
- AI
- nlp
- 프로그래밍
- CSS
- 동적 프로그래밍
- PYTHON
- 그래프
- 알고리즘
- kick start
- 코딩
- 딥러닝
- dp
- 코딩테스트
- 구글 킥스타트
- 코딩 테스트
- 백준
- linux
- BFS
- 킥스타트
- 리눅스
- DFS
Archives
- Today
- Total
오뚝이개발자
[자료구조 및 알고리즘] CH2. From Structures to Class 본문
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
'CS 기초 > 자료구조 및 알고리즘' 카테고리의 다른 글
[자료구조 및 알고리즘] CH5. Map and Hash table (0) | 2020.10.22 |
---|---|
[자료구조 및 알고리즘] CH4. Stack and Queue (0) | 2020.10.22 |
[자료구조 및 알고리즘] CH3. Array and Linked list (0) | 2020.10.22 |
[자료구조 및 알고리즘] CH1. Intro to Data Structures (0) | 2020.06.24 |
[알고리즘] 백트래킹 (0) | 2020.05.01 |
Comments