[C#] 구조체와 클래스 (Struct & Class)
2022. 5. 3.
구조체와 클래스는 매우 닮았고 자주 쓰인다. 그렇다면 둘은 어떤 용도에 각각 쓰이며 차이점은 무엇일까? 둘의 서로 다른 타입을 갖고 있다. 구조체는 값 타입이므로 스택에 저장된다. 반면 클래스는 참조 타입이라서 힙에 저장된다. 따라서 구조체는 가비지 컬렉터가 발생하지 않으므로 속도면에서 클래스에 비해 더 장점이 있다. 하지만 구조체의 값은 복사되어 전달되므로 당연스럽게도 함수가 종료되면 해당 값은 소멸된다. 사용하는 문법이 서로 다르다. 클래스는 new 연산자를 사용하여 메모리 할당을 해주어야만 한다. 힙에 저장되기 때문이다. struct_test s_test; s_test.name = "this is struct"; class_test c_test = new class_test(); c_test.nam..