struct, class in C#
C#에서 구조체와 클래스는 의미가 조금 다르다. C++에서 클래스와 구조체는 근본적으로 차이가 없다. 다만, C++에서는 관습적으로 구조체는 액세스 지정자가 public이며, 클래스는 private라는 점만이 다를 뿐, 두 데이터형은 동일하다. 하지만, C#에서는 이 둘은 차이가 있다. 즉, 근본적으로 어떤 타입의 데이터이냐의 문제인데, 스택과 힙 영역 어디에나 데이터를 생성할 수 있는 C/C++과 달리, C#에서 클래스는 항상 힙 영역에 생성된다. 하지만, 구조체는 항상 스택에만 생성되는 것은 아니다. 구조체 역시 힙에 생성할 수 있다. 예를 들어, 구조체 Dummy가 선언되었다고 했을 때 Dummy dummy = new Dummy();라는 문장은, 암묵적으로 디폴트 생성자를 사용하여 힙에 Dummy를..
더보기