본문 바로가기
반응형

PROGRAM/effective JAVA4

Generic - 제네릭 메소드를 애용하자. 현재까지 제네릭 타입을 사용해야 하는 이유와 제네릭을 통해 컴파일 경고 메시지를 없애는 방법, List와 제네릭 타입의 애용 등을 통해 클래스 내부의 변수들에 대한 제네릭을 살펴보았는데요. 이번에 소개할 내용은 제네릭 메소드를 사용하는 방법과 그로 인한 이점들입니다. 제네릭 메소드를 작성하는 방법을 보기전에, 원천 타입을 사용한 메소드와 그로 인한 경고 메시지를 보시겠습니다. public static Set union(Set s1, Set s2) { Set result = new HashSet(s1); result.addAll(s2); return result; } 앞에서 살펴본 원천타입의 특징답게 컴파일은 가능하지만, 정보를 가지고 있는 런타임 시에는 경고메시지를 발생시킵니다. Union.java:5:.. 2013. 2. 12.
Generic - 배열보다는 List를 사용하자. 이 카테고리는 ‘effective JAVA’ 라는 책을 공부하고 포스팅하는 공간입니다. 오늘의 주제는 배열보다는 List를 사용하자! 는 내용입니다. 이는 최근 effective JAVA 카테고리에 올렸던 ‘Generic을 사용하자’ 라는 전체적인 주제와 같은 목적을 가진다고 보아도 무방합니다. 우선 배열이 List로 대변되는 Generic과 어떤 점에서 다른 지를 살펴보러 갑시다! 1. 배열은 공변(covariant)이고, Generic은 불변이다. 공변이라는 단어가 매우 생소합니다. 그래서 공변에 대한 설명도 붙여 넣었으니 참조하시면 좋을 듯 하네요. 공변이란? 다른 현상의 변화에 따라 언제나 변하는 현상을 말하며, 예를 들어 기온의 변화에 따라 한란계의 수은 자리가 변하는 것을 인과 관계로 보는 일.. 2011. 5. 30.
Generic - 컴파일 경고 메시지가 없게 하자. 이 카테고리에는 'effective JAVA' 라는 책에 대해 공부한 내용을 포스팅하게 됩니다 ^.^ 지난 번 포스팅에서 원천 타입이 아닌 Generic을 사용하자는 내용에 대해 다루었는데, 오늘은 Generic을 이용하면서 경고 메시지의 출력도 줄여보자는 내용입니다. Generic을 사용하더라도 경고메시지가 출력되는 경우는 있습니다. unchecked 류의 경고들이 출력될 수 있는데, 이는 Generic을 많이 사용해 볼수록 나타나는 빈도는 줄어들겠지만 일단 나타난 경고 메시지들은 가능하다면 최대한 제거하는 것이 좋겠지요! 여기서 말하는 unchecked 경고메시지에는 캐스트 경고, 메소드 호출 경고, 제네릭 배열 생성 경고, 변환 경고 등이 포함됩니다. 이러한 모든 unchecked 경고 메시지는 런.. 2011. 4. 21.
Generic - 원천(raw)타입을 사용하지 맙시다. 이 카테고리에 쓰는 글은 동명의 책인 에 대한 공부 내용을 정리하여 올리는 곳입니다. Java 1.5 이후 버전부터 지원되는 내용으로는 매우 다양한 기능들이 포함되어 있습니다. for문의 기능 확장으로 forEach 방식의 활용이 가능해졌으며, AutoBoxing, UnBoxing 등.. 그리고 오늘부터 몇 주간 포스팅하게 될 내용인 Generic에 대한 내용을 지원합니다. Generic이란 무엇인지 알아보기 전에 우선 제목에 있는 원천 타입에 대한 내용을 알아봅시다. 원천타입은, Collection interface로부터 파생된 subInterface들인 BlockingDeque, BlockingQueue, Deque, List, NavigableSet, Queue, Set, SortedSet과 같은 .. 2011. 4. 13.
반응형