본문 바로가기

제네릭2

Java - 제네릭 (2) Java의 제네릭에 대해서 남은 개념들에 대한 22강이었다. 와일드카드라는 기능에 대한 설명이 길게 진행되었는데, 확실히 쉽게 이해하기는 힘들었다. 지금도 조금씩 헷갈리는 데, 복습을 확실히 해야겠다. 제네릭 클래스의 상속 제네릭 클래스 인스턴스와 참조변수간의 관계는 기본적인 상속 관계와 동일하게 작동한다. 단, 키워드로 감싸진 타입 매개변수가 동일해야 함 class Box { protected T ob; public void set(T o) { ob = o; } public T get() { return ob; } } class PaperBox extends Box { public PaperBox(T o) { ob = o; } } Box iBox = new PaperBox;//참조 가능 Box sBox.. 2020. 9. 27.
Java - 제네릭 (1) 스프링 예제 코드들 보면서 이게 뭐지 싶었던 문법인 제네릭에 대한 21강이었다. 다음 강의에는 제네릭을 좀 더 심화해서 다룬다는데 중요한 개념인 것 같으니 확실하게 정리하고 넘어가자. 제네릭이란? 자료형을 정하지 않고 클래스의 형태만 갖추어 놓는 것. 필요할 때에 해당 클래스의 자료형을 결정하는 방식 클래스의 경우는 인스턴스 선언시, 자료형 결정 메소드의 경우는 메소드 호출시, 자료형 결정 왜 제네릭이 등장했는가? 제네릭 이전 여러 타입의 데이터를 다루기 위해 일반적으로 Object 클래스를 사용한 클래스를 만들고, 명시적 형변환을 이용했다. 명시적 형변환을 다수 사용하면서 코드 안정성이 저하되고, 코드 에러를 컴파일 레벨에서 잡아내기 어려웠다. 무엇보다도 일일이 명시적 형변환을 지정하는 것이 굉장히 번.. 2020. 9. 22.