본문 바로가기
스마트인재개발원/자바

[JAVA] 제네릭(Generic) 개요 / 타입 & 메소드선언 / 타입 파라미터 명명 규칙

by 죠졍니 2022. 7. 30.
728x90
반응형
SMALL

 개요

 

  • class, interface같은 타입이나 메소드에 정의됨
  • 파라미터 다형성을 구현 (구체적이지 x)
  • 안정성 부여 
  • 특정 타입에 국한x
  • 컴파일 시 오류 발견 불가능
  • Generic : 다양한 타입에 적용할 수 있도록 지원이 가능함
  • 버블정렬 같은 알고리즘에도 구현 가능함

 

 

 

[제네릭이 적용되지 않는 경우]

●전역 변수가 다양한 타입을 처리할 수 있어야 할 때 : java.lang.Object 로 선언

-> 자바에서는 기본 데이터 타입을 제외한 모든 타입은 object의 서브 타입이기 때문

 

●데이터를 사용해야 할 때 : 클래스 인스턴스 타입으로 변환

 

 


타입 선언 방법[일반 타입]

  • 타입 파라미터가 1개일 때
public class book<T>{
	private T note;
    
    public void set(T note){
    	this.note = note;
 	}
    public T get() {
    	return this.note;
    }
}
  • 타입 파라미터가 2개일 때 <> 안에 두개 선언
public class book<T,V>{
        private T note;
        private V paper;
        
        public void set(T note, V paper){
            this.note = note;
            this.paper = paper;
         }
        public T get() {
            return this.note;
        }
        public V paper() {
            return this.paper;
        }
    }

 

 


타입 선언 방법[제네릭 타입]

  • 제네릭 타입 생성자는 타입 파라미터를 사용x
public class book<T>{
	T note;
    
    public note(T note){
    	this.note = note;
 	}
    public T get() {
    	return this.note;
    }
}

 

 


제네릭 메소드 선언

  • 타입 파라미터 목록을 가지고 선언
  • 메소드 호출할 때 메소드 이름 앞에 <> 기호로 선언

 

 


타입 파라미터 명명 규칙

  • T(ype) : 타입
  • K(ey) : 키
  • N(umber) : 숫자
  • V(alue)  : 값
  • E(lement) : 요소

 

 

 

 

728x90
반응형
LIST