제네릭 4

제네릭 - 제한된 타입 파라미터/ 와일드카드

경우에 따라 타입 파라미터를 대체하는 구체적인 타입을 제한할 필요가 있다. 숫자를 연산하는 제네릭 메소드는 대체 타입으로 Number 또는 자식클래스 (Byte, Short, Integer ....)로 제한 할 필요가 있다. 상위 타입은 클래스뿐만 아니라 인터페이스도 가능하다. 인터페이스라고 해서 implements를 사용하진 않는다. package ch13.sec04;public class GenericEx { // 제한된 타입 파라미터를 갖는 제네릭 메소드 public static boolean compare(T t1, T t2) { System.out.println("compare: " + t1.getClass().getSimpleName() + ", " + ..

Java 2024.07.11

제네릭(Generic) 메소드

제네릭 메소드는 타입 파라미터를 가지고 있는 메소드를 말한다.제네릭 메소드는 리턴 타입 앞에 기호를 추가하고 타입 파라미터를 정의한 뒤, 리턴 타입과 매개변수 타입에서 사용한다. package ch13.sec03.ex01;public class Box { private T t; public T get() { return t; } public void set(T t) { this.t = t; }} package ch13.sec03.ex01;public class GenericEx { public static Box boxing(T t) { Box box = new Box(); box.set(t); return..

Java 2024.07.11

제네릭 (Generic)

제네릭이란 결정되지 않은 타입을 파라미터로 처리하고 실제 사용할 때 파라미터를 구체적인 타이븡로 대체시키는 기능 package ch13.sec01;public class Box { public T content;} Box 클래스에서 결정되지 않은 content 타입을  T라는 타입 파라미터로 정의했다. 는 타입 파라미터를 뜻하는 기호로, 타입이 필요한 자리에 T를 사용할 수 있음을 알려준다.여기서 Box 클래스는 T를 content 필드의 타입으로 사용했다. 즉 Box 클래스는 T가 무엇인지 모르지만,Box 객체가 생성될 시점에 다른 타입으로 대체된다는걸 알고있다. package ch13.sec01;public class GenericEx { public static void main(Stri..

Java 2024.07.10

제네릭

제네릭 (Generic) 이란 클래스 내부에서 사용할 자료형을 나중에 인스턴스를 생성할 때 확정한다. 자료형의 객체들을 다루는 메서드나 클래스에서 컴파일 시간에 자료형을 검사해 적당한 자료형으로 선택할 수 있게 하기 위해 사용한다. 제네릭을 사용하면 객체의 자료형을 컴파일할 때 체크하기 때문에, 객체 자료형의 안전성을 높이고 형 변환의 번거로움이 줄어든다. 제네릭 사용방법 앵글브라켓() 사이에 형식 매개변수를 넣어 선언한다. 이때 형식 매개변수는 하나 이상 지정 가능하다. 형식 매개변수는 자료형을 대표하는 용어로 T와 같이 특정 영문 대문자를 사용한다. 제네릭을 사용하면서 얻을 수 있는 장점은 의도하지 않은 자료형의 객체를 지정하는것을 막고 객체를 사용할 때 원래의 자료형에서 다른 자료형으로 형 변환시 ..

Kotlin 2023.12.25