티스토리 뷰

728x90
반응형

제네릭(Generic)은 직역하면 일반적인, 포괄적인 이라는 뜻이다.

 

자바의 맥락에서는 클래스나 메서드가 사용하는 데이터 타입의 일반화(Generalization)를 의미한다.

 

특정 기능을 가진 클래스와 메서드를 생성한 뒤, 필요에 의해 다양한 데이터 타입을 지정하고 싶을 때 사용한다.

 

조금 구체적으로는 데이터 타입의 경계를 정해 컴파일 타임에 사용될 타입으로 캐스팅하는 것인데,

 

이 덕분에 해당 객체에 의도하지 않은 타입이 지정되는 것을 미리 막을 수 있어 관리가 편하다.

 

이외의 특징은 아래와 같다.

 

  • 한 클래스에서 여러 개의 제네릭 매개변수 혹은 타입 매개변수를 사용할 수 있다.
  • static 변수에는 타입 매개변수를 사용할 수 없다. 이는 static 변수는 모든 객체에 공유되기 때문이다.
  • 클래스와 메서드에 동시에 적용할 경우 별개의 타입 변수로 취급된다.
  • 변수와는 달리 static 메서드에는 타입 매개변수를 사용할 수 있다.
  • 제네릭 메서드 안에서는 length()와 같은 String 클래스의 메서드를 사용할 수 없다.
  • 하지만 equals(), toString(), 등의 Object 클래스의 메서드는 사용할 수 있다.
  • 제네릭의 파라미터는 참조 타입 변수뿐이다. 따라서 기본 타입은 래퍼 클래스를 사용해야 한다.
  • 제네릭 메서드는 오버로딩이 불가능하고 필요하지도 않다. 따라서 코드 가독성과 재사용성이 좋아진다.

 

 

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함