티스토리 뷰
이번에는 구조체에 대하여 알아 보겠습니다.
보통 C++에서의 구조체는 class 와의 별반 차이 없는 차이라고 해봤자 기본 접근 지시자가 private이냐 public이라는 차이점 밖에 없습니다.
C#또한 그렇…지 않습니다! C#에서는 구조체 또한 기본 접근 지시자가 private로 되어 있습니다.
(지못미)
그러면 C#에서는 구조체와 클래스의 차이점은 무엇 일까요?
클래스와 구조체의 차이점은
클래스는 힙 (Heap)영역 에서 참조(Reference) 타입 이고,
구조체는 스택(Stack)영역에 생성되는 값(Value) 타입 입니다.
따라서 구조체가 클래스보다 메모리 소모가 덜 하다고 합니다.
두번째로 매개변수가 없는(..!!) 생성자와 소멸자를 선언 할 수 없습니다.
게다가 상속을 지원하지도 않습니다(.!!!!!) 그리고 디폴트 생성자 또한 지원 하지 않습니다.
하지만 구조체는 값 타입이므로 구지 new 연산을 하여 객체를 생성할 필요 없이 선언 만으로 인스턴스화가 가능하고 서로 대입이 가능합니다.
구조체 끝
'C#' 카테고리의 다른 글
유니티에서 아두이노와 시리얼 통신하기 (1) | 2017.09.24 |
---|---|
string 타입에서 ""과 null은 같을까? (2) | 2017.06.27 |
8. 확장 메소드(Extension Method) (0) | 2016.06.29 |
7. get set (1) | 2016.05.07 |
6. sealed (0) | 2016.05.07 |