Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- 멀티쓰레드
- map
- 기술면접
- 공부
- 차이점
- thread
- 알고리즘
- 트리
- 벡터
- Queue
- 해쉬맵
- 인프런
- 배열
- list
- 스택영역
- vector
- 큐
- MonoBehaviour
- 리스트
- 스택
- std::unordered_map
- std::map
- 반복문
- 힙영역
- c#
- static_cast
- 프래그멘테이션
- 객체지향
- 자료구조
- rookiss
Archives
- Today
- Total
호빵의 IT 개발소
[C/C#] 구조체와 클래스 본문
구조체(Struct)
- 구조체는 변수와 함수로 이루어져 있습니다. 구조체의 경우 생성자를 사용하게 되면 몇가지 제약 조건이 생기게 됩니다. 매개변수가 없는 생성자를 만들 수 없고, 생성자를 생성하게 되면 필드가 모두 할당이 되어있어야 합니다.
- 구조체는 상속이라는 개념이 없습니다. 그리고 구조체의 경우 스택 메모리에 할당이 되기 때문에 생성을 하면 초기값을 설정을 해야 합니다.
- 구조체를 사용해야 하는 경우는 짧게 생성되고 없어지는 경우, 클래스를 사용할 필요가 없는 경우 사용됩니다.
클래스(Class)
- 클래스는 구조체가 할 수 없는 일들을 쉽게 코드를 작성할 수 있도록 만들어진 개념입니다. 객체 지향 개념이 생기며 함께 생긴 개념으로 자식 클래스와 부모 클래스의 개념이 생기고 상속이라는 기능이 생기게 된 것이 클래스이다.
- 상속이란 부모 클래스에 있는 성질을 자식클래스에게 물려 받고 또 다른 성질을 표현합니다. 앞에 추상, 가상함수를 설명하면서 WeakAnimal 클래스가 Animal 클래스를 상속받아 동물의 공통적인 기능을 Animal에서 받아왔습니다.
- 클래스는 구조체와 다르게 힙 메모리에 할당되기 때문에 클래스가 할당된 힙 메모리의 주소가 스택 메모리에 추가됩니다. 메모리의 주소와 실제 메모리가 다르게 됩니다.
- 클래스를 사용해야하는 경우는 상속이 필요하고 메모리를 많이 차지하는 경우 사용됩니다.
참고 및 출처 : https://tip1234.tistory.com/195
'CS(전공지식) > 프로그래밍언어' 카테고리의 다른 글
| [C/C#] 지역 변수, 전역 변수 (0) | 2022.06.20 |
|---|---|
| [C/C#] 객체 지향 언어, 절차 지향 언어 (0) | 2022.06.20 |
| [C/C#] namespace, partial (0) | 2022.06.20 |
| [C/C#] 상속, 다형성 (0) | 2022.06.19 |
| [C/C#] 추상, 가상함수 (0) | 2022.06.19 |
Comments