1) 제네릭: 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 것

2) 이걸 왜 사용해?..
아래예시를 보자

기존코드 중복을 없애고 10년뒤에 코드를 다시 사용한다고 했을 때 person에 어떤값을 넣어야하는지 까먹어서 부장을 넣었음
그 결과..

즉 변수데이터 타입이 object라 모든 타입이 들어와서 타입이 안전하지 않고 문법적으로는 맞아서 오류를 발생시키지 않는데
실제로는
Employee ei = (EmployeeInfo)p1.info가
Employee ei = (EmployeeInfo)new EmployeeInfo(10); 이런 형식으로 되어야 하는데
저기는 "부장"이 들어왔기 때문에 오류가 뜬다 string이 employee로 형변환을 못하기 때문이다
구조를 잘 맞추자
↓ ↓ ↓ ↓ ↓이해가 안되면 아래 예시 참고하자

첫번째 예시는 같은 숫자 구조이기때문에 String b 를 int로 형변환해도 문제 없다
but 두번째 예시는 10과 skt는 숫자와 영어라 구조가 맞지 않아서 오류가 발생함 (형변xxx)
'JAVA > ★객체지향' 카테고리의 다른 글
collections framework 전체적인 구성 (0) | 2023.03.15 |
---|---|
제네릭의 특징 (0) | 2023.03.15 |
참조와 복제 /+static접근 (0) | 2023.03.14 |
상수/ enum의 문법 (0) | 2023.03.14 |
상수2 - enum이 쓰기전의 상황/ switch문 예시 (0) | 2023.03.14 |