ITEM 52: 다중정의는 신중히 사용해라
public class CollectionClassifier {
public static String classify(Set<?> s) {
return "집합";
}
public static String classify(List<?> lst) {
return "리스트";
}
public static String classify(Collection<?> c) {
return "그 외";
}
}public class OverloadingTest {
@Test
void overloadingTest() {
Collection<?>[] collections = {
new HashSet<String>(),
new ArrayList<BigInteger>(),
new HashMap<String, String>().values()
};
Assertions.assertEquals(CollectionClassifier.classify(collections[0]), "집합");
Assertions.assertEquals(CollectionClassifier.classify(collections[1]), "리스트");
Assertions.assertEquals(CollectionClassifier.classify(collections[2]), "그 외");
}
}Overriding
Overloading
다중정의 대안
그 외
Last updated