본문 바로가기
JAVA/★객체지향

제네릭

by SEOKIHOUSE 2023. 3. 15.

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