본문 바로가기
security/코틀린

Kotlin - 14. 제너릭

by aristia 2020. 7. 29.

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

댓글