카테고리 없음

[TIL] Generic

Twisted 2024. 10. 17. 01:24

제네렉이란 무엇일까?

=> 데이터 타입을 클래스 내부에서 지정을 하는 것이 아닌 외부에서 사용자에 의해 지정되는 것을 말한다.

 

이게 무슨 소리일까?

예시를 통해 알아보자

 

이런식으로 객체를 생성할 때 <>를 이용하여 안의 타입을 고정된 것이 아닌 생성할 때 사용자가 임의로 지정할 수 있다.

String 대신 Integer를 이용하려고 하면 Integer을 넣어주면 된다.

 

※제네릭의 제한사항※

1. 객체의 static 멤버에 사용할 수 없다.

2. 제네릭 배열을 생성할 수 없다.

 

 

※제네릭의 효용성※

1. 타입 언어에서 중복되거나 필요 없는 코드를 줄여준다.

2. 타입 안정성을 해치지 않는다.

1. 제네릭은 클래스와 메서드에 사용이 가능하며 <>안에 사용할 타입을 지정할 수 있다.

 

2. 선언 해둔 타입 변수는 해당 클래스 내에서 특정한 타입이 들어갈 자리에 대신 들어갈 수 있다.

 

3. 메서드의  리턴 타입에 들어가는것도 가능하다.

 

4. 실제 구현을 하는 코드로 <>안에 사용할 타입을 넣어준다. <>안에는 참조타입만 들어갈 수 있다.

 

5. 생성할때 String으로 생성을 하였기 때문에 set()메서드의 매개변수도 String 타입으로 받는다. 그러므로 해당 코드를 사용할 수 있다.

 

제네릭이 무엇인가와 제네릭을 어떻게 사용하는지에 대하여 간단하게 알아보았다.