14. 제너릭
- 타입을 체크하는 기능
- 다양한 타입을 다루는 객체들을 다루는 메서드나 컬랙션 클래스에서
컴파일 시에 타입을 체크해주는 기능
- 제너릭은 만들기 어렵고 실제로 만드는 경우가 드물다.
- 사용하는 방법만 숙지하면 될 것이다.
-------------------------------------------------------
제너릭을 사용하지 않는 경우
.toString()
- 형변환을 해준다.
제너릭은 main 함수 뒤에서 <String> 처럼
이렇게 <타입>을 말한다.
여기서 배열에서는 제너릭을 사용하지 않았다.
그래서 다양한 타입의 변수들을 넣을 수 있었던 것이다.
여기서 .toString()을 사용하지 않으면 에러가 발생한다.
이 배열의 2번째 인덱스가 String인 것을 보장받지 못하기 때문이다.
그래서 .toString()을 통해 형변환을 해야 한다.
-------------------------------------------------------
제너릭을 사용하는 경우
이번 배열에서는 <String>이라고 제너릭을 사용해주었다.
이미 <String>으로 타입을 적어주었기 때문에,
배열 안에는 String 타입만 들어가게 된다.
그래서 .toString()을 사용하지 않아도 안전하게 된다.
-------------------------------------------------------
강한 타입 체크
list3에서는 제너릭을 사용하지 않아서 타입이 Any가 된다.
그래서 다양한 타입을 넣어도 에러가 발생하지 않는다.
하지만 list4에서는 <Int>로 제너릭을 사용함으로써 타입을 지정해주었기 때문에
다른 타입을 적을 경우 에러가 발생하도록 해준다.
즉, 타입을 체크해준다는 것이다.
'security > 코틀린' 카테고리의 다른 글
Kotlin - 13. 인터페이스 (0) | 2020.07.29 |
---|---|
Kotlin - 12. 상속 (0) | 2020.07.29 |
Kotlin - 11. 접근 제어 (0) | 2020.07.29 |
Kotlin - 10. 클래스 (0) | 2020.07.29 |
Kotlin - 09. 반복문 (0) | 2020.07.28 |
댓글