1) 박싱 & 언박싱 - 값타입 --박싱--> 참조타입 - 참조타입 --언박싱--> 값타입 ArrayList al = new ArrayList(); al.Add(100); // ArrayList는 object를 저장함. 따라서 100(값타입)은 참조타입으로 box되어 저장됨 int val = (int)al[0]; // al[0]를 int(값타입)로 사용하기 위해 unboxing됨 2) 값타입 - 단순타입 : int, byte, char, float, decimal, bool 등 - 열거형타입 : enum - 구조체타입 : struct - nullable 타입 : int?, double? 등 3) 참조타입 - 클래스 타입 : object, string, class - 인터페이스 타입 : interface ..