TIL)23.07.07(Java)

주민·2023년 7월 7일
0

TIL

목록 보기
34/84

변수의 타입이 잘 변하지 않는 것을 정적타입이라고 하며 자바가 해당된다.

제네릭

  • 매개변수의 변수 타입만 다른 메서드를 실행 할 때 사용

매개변수의 변수타입만 다른 메서드가 3개가 있다.

public int test(int a, int b){}
public int test(int a, long b){}
public int test(int a, String b){}

이걸 하나로 줄이기 위해서 예전에는 Object를 사용하였는데 Object를 사용하게되면 타입이 지정되지 않아 값이 이상하게 나오고 런타임 오류가 나오는 경우가 잦아 제네릭을 사용하게 되었다.

** Object는 모든 변수 타입의 상위요소로 모든 변수타입은 Object를 상속받고 있다.
=> 모든 변수타입을 대체 가능

제네릭 사용

변수타입 대신 < T>을 사용하고 나중에 변수타입을 지정하면 그 변수타입을 따라감

  • 컴파일 시점에 파일을 체크하기 때문에 Object와 같은 이슈는 없음

  • 예시

public class Generic<T> {
    private T t;

    public static void main(String[] args) {
     Generic<String> stringGeneric = new Generic<>();
     =>  이 시점에 T가 String이 됨
    }
}
  • List< String > => 제네릭에 포함됨, 컴파일 시점에 List의 값을 String 으로 만들어줌

0개의 댓글

관련 채용 정보