목록이것이 자바다/13 제네릭 (2)
충분히 쌓여가는
제네릭 타입 결정되지 않은 타입을 파라미터로 가지는 클래스와 인터페이스 제네릭 타입은 선언부에 부호가 붙고, 그 사이에 타입 파라미터들이 위치한다 public class 클래스명 {...} public interface 인터페이스명 {...} 타입 파라미터는 변수명과 동일한 규칙에 따라 작성할 수 있지만 일반적으로 대문자 알파벳 한 글자로 표현한다 외부에서 제네릭 타입을 사용하려면 타입 파라미터에 구체적인 타입을 지정해야 한다 지정하지 않으면 Object 타입이 사용된다 kind와 model 필드를 타입 파라미터로 선언하고, Getter의 매개변수와 Setter의 리턴 타입 역시 타입 파라미터로 선언한다 이렇게 타입 파라미터를 사용하는 이유는 Product에 다양한 종류와 모델 제품을 저장하기 위해서이다..
제네릭 결정되지 않은 타입을 파라미터로 처리하고 실제 사용할 때 파라미터를 구체적인 타입으로 대체시키는 기능 Object 타입은 모든 클래스의 최상위 부모 클래스 따라서 모든 객체는 부모 타입인 Object로 자동 타입 변환이 된다 Box 클래스에 넣을 내용물로 content 필드를 선언 Box는 다양한 내용물을 저장해야 하므로 특정 클래스 타입으로 선언할 수 없다 그래서 Object 타입으로 선언함 public class Box { public Object content; } content는 Object 타입이므로 어떤 객체가 대입되어 있는지 확실하지 않다 대입된 내용물의 타입을 안다면 강제 타입 변환을 거쳐 얻을 수 있다 Box box = new Box(); String content = (Strin..