Finding
- private 변수, getter, setter, Serializable를 구현해야만 제대로 된 DTO라고 할 수 있다.
- 제네릭은 실행시에 예외가 발생하는 것을 컴파일할 때 점검할 수 있도록 도와준다.
- 제네릭 타입의 이름 정하기
- E: 요소(Element, 자바 컬렉션에서 주로 사용됨)
- K: 키
- N: 숫자
- T: 타입
- V: 값
- S,U,V: 두 번째, 세 번째, 네 번째에 선언된 타입
- 와일드카드
- 어떤 객체를 wildcard로 선언하고, 그 객체의 값을 가져올 수는 있지만, 와일드카드로 객체를 선언했을 때에는 특정 타입으로 값을 지정하는 것은 불가능하다.
@Test
void test_wildcard_setup(){
WildcardGeneric<?> wildcard = new WildcardGeneric<String>();
wildcard.setWildcard("A"); // 알수없는 타입에 String을 지정할 수 없다는 뜻이다.
}
- Bounded Wildcards
- <? extends 타입> 형태이다.
- 타입을 제한할때 사용된다.
@Test
void test_callBoundedWildcardMethod(){
wildcardGeneric<Bus> wildcard = new WildcardGeneric<>();
wildcard.setWildcard(new Bus("Mustang"));
boundedWildcardMethod(wildcard);
}
private void boundedWildcardMethod(WildcardGeneric<? extends Car> c) {
Car value= c.getWildcard();
System.out.println(value);
}
Feeling