728x90

제네릭 2

[자바] 제한된 타입 파라미터란 ?

모든 타입으로 대체할 수 없고, 특정 타입과 자식 또는 구현 관계에 있는 타입만 대체할 수 있는 타입 파라미터를 제한된 타입 파라미터라고한다 public 리턴타입 메소드(매개변수, ...) { ... } 예를 들어 위 코드의 T는 상위타입이거나 상위타입의 자식타입일 경우에만 대체 가능하다. 상위타입은 클래스뿐만 아니라 인터페이스도 가능한데, 인터페이스라고 해서 implements를 사용하지는 않는다. public boolean compare(T t1, T t2){ double v1 = t1.doubleValue();// Number의 doubleValue() 메소드 사용 double v2 = t2.doubleValue(); return (v1 == v2) } 타입 파라미터가 Number 타입으로 제한되면..

Java 2024.04.03

[자바] 제네릭이란 ?

제네릭(Generic)은 포괄적, 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법 결정되지 않은 타입을 파라미터로 처리하고 실제 사용할 때 파라미터를 구체적인 타입으로 대체시기는 기능. 마치 메소드 안에서 매개 변수와 비슷하게 동작할 수가 있다. 매개 변수는 어떠한 변수에 들어갈 값과 관련되어 있는데 제네릭은 그 변수의 데이터 타입과 관련되어 있다. 위 코드에서 Box의 클래스에 , 즉 public T content;에 T는 content라고 하는 필드의 데이터 타입이다. 위 코드 시점에서는 content의 데이터 타입을 명시적으로 지정하지 않은 상태이지만, 실제로 사용할 때, 인스턴스화할 때 String이라고 하는 구체적인 데이터 타입을 지정하게 되면 T의 데이터 타입은 String이라는 ..

Java 2024.03.28
728x90