작성
·
161
답변 1
1
일반적인 데이터의 경우와 큰데이터에 클래스를 사용하고 작은 데이터의 경우 구조체를 사용합니다
힙에 데이터가 있다는 이유는 실제의 데이터가 크기때문에 힙메모리에 올리는 것입니다
구조체가 값타입이고 클래스가 참조타입입니다
값타입은 바로 그곳에 데이터가 있고 참조타입은 참조를 한번 거쳐가야 데이터가 있습니다
그런데 C# 에서는 문법을 같이 사용하면서 이렇게 다른 동작을 하는 경우가 종종 있습니다 제가 예상하기로는 이게 바로 c#을 언어를 설계한 사람들이 생각하는 철학이라고 생각합니다 초보자의 경우 같이 둘다 new를 하고 접근을 쉽게 하라는 뜻입니다
구조체는 new 를 하는 동작이 생성자를 사용하기 위한 작업입니다 즉 선언시 메모리가 생겨납니다 클래스의 경우 변수 선언이 레퍼런스를 만드는 작업입니다 이상태에서 실제 데이터가 생기지 않습니다 실제 데이터는 new를 해야 생겨납니다 생성자도 같이 실행되고요
궁금하신점은 또 질문주세요 감사합니다