언어 공부/JAVA

지네릭(Generic)

sysout.초코우유 2018. 4. 5. 18:55

지네릭은 매개변수의 타입을 고정하고 싶지 않은 경우에 사용하는 문법이다.

지네릭에 들어갈 타입은 조상 타입을 명시함으로써 해당 타입의 자손 타입만 받도록 제한하는 것도 가능하다. 그런데 그냥 조상 타입을 받은 후에 캐스팅을 통해서 변수나 메소드를 사용하는 것도 가능한데 굳이 지네릭을 써야 하는 건지 잘 모르겠다.

지네릭을 사용할 때, 앞에 타입을 명시해 주어야만 사용할 수 있으면서도 

명시해 주는 타입을 특정 조상의 자손들만 허용하기 때문에

런타임 오류를 컴파일 오류로 받도록 하는 것이 그 목적인 듯 하지만,

지네릭을 사용한 클래스나 메소드는 항상 앞에 타입을 지네릭으로 특정지어줘야만 하는 불편함이 있기 때문에 지네릭을 사용하는 것이 실제로 더 나은지는 코드를 사용해 봐야 알 수 있을 것 같다.

그리고 실제 주니어 이상의 개발자들이 지네릭을 얼마나 사용하는 지도 찾아보면 좋을 것 같다.