값 형식과 참조 형식의 결정적인 차이점은 인스턴스의 대입이 일어날때 뚜렷해진다. struct (구조체) : 깊은 복사 => 값 형식 class (클래스) : 얕은 복사 => 참조 형식 값 형식은 값 전체가 메모리 (스택) 영역에서 복사가 된다. 따라서 구조체를 복사할 경우 내용 전체가 복사된다고 생각하면 된다. 참조 형식은 값은 힙 영역에 있고 스택영역에 힙 영역을 가리키는 주소값을 저장하는 형식이다. 밖에서 호출을 할경우 스택영역의 주소값을 호출하고, 해당 주소(힙영역)에 있는 값을 불러온다. 따라서 클래스 복사할 경우 주소값을 복사하는것이기 때문에, 원치 않는 수정이 일어날 수 있다. 1. 일반적으로 모든 사용자 정의 타입은 클래스로 구현한다. 2. 선택적으로 구조체로 구현한다. 3. 참조형식은 가비..