Notice
Recent Posts
Recent Comments
Link
«   2026/09   »
일 월 화 수 목 금 토
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
Tags more
Archives
Today
Total
관리 메뉴

seaking110 님의 블로그

Generic 본문

Today I Learned

Generic

seaking110 2025. 1. 6. 15:59

Generic 이란? 

  • 일반화 시킨다? 라는 언어로 유연하게 코드를 짜게 도와준다

Generic의 이점

  • 중복되거나 필요없는 코드를 줄여준다.
  • 타입 안정성을 해치지 않는다.

 

Generic 사용법

  • 제네릭은 클래스 또는 메서드에 사용
  • <> 안에 들어가야할 타입을 명시
  • T라는 변수를 타입으로 두고 진행
// 제네릭 클래스
// <T> <- 타입 변수
// 제네릭 클래스는 원시 타입
public class Generic<T> {
    
    private T t;
    // 메서드의 return type을 제네릭으로 지정 가능 
    public T get() {
        return this.t;
    }
	// 메서드의 매개변수의 타입도 제네릭으로 지정가능
    public void set(T t) {
        this.t = t;
    }
}

 

 

Generic 주의점

  • 객체의 static 멤버에는 사용 불가 (제네릭은 인스턴스 변수로 간주되어 모든 객체에 동일하게 동작하는 static 필드 특성상 사용 불가)
  • 제네럭 배열은 생성 불가
  • 상속과 타입의 관계는 그대로 적용

 

와일드 카드

  • 제네릭의 제한을 정하는 방법
<? extends T> : T와 그 자손들만 사용 가능

<? super T> : T와 그 부모들만 사용 가능 

<?> : 제한 없음

 

 

  • 메서드 스코프로 해당 메서드에서만 동작하는 제네릭을 선언할 수 있다
  •  제네릭 메서드의 제네릭 타입 변수에는 static 메서드 사용 가능

'Today I Learned' 카테고리의 다른 글

모던 자바  (0) 2025.01.08
Thead  (1) 2025.01.07
예외 처리!  (2) 2025.01.03
객체지향 프로그래밍 이란?  (1) 2025.01.02
컬랙션이란?  (0) 2025.01.02