제네릭(2)
-
[Java] 제네릭 - 2
본 포스팅에서는 제네릭에서 유연성 캐스팅에 유연성을 더해주는 와일드카드에 대해 다룹니다. 정의 와일드카드는 아래와 같이 타입 변수를 지정할 때, 상속 관계를 어떤 방식으로 지정할지에 대해 "?"를 사용하여 지정하는 것을 말합니다. 1. : 제한 없음 와일드카드 도입 이유 기본적으로 자바의 타입(기본형 타입, 참조형 타입)은 다운, 업 캐스팅을 지원합니다. 예제코드는 아래와 같습니다. // 업캐스팅(공변성) Object[] Covariance = new Integer[10]; // 다운캐스팅(반공변성) Integer[] Contravariance = (Integer[]) Covariance; 하지만 제네릭은 아래와 같은 상황에서 다운,업 캐스팅을 지원하지 않습니다. public static void pri..
2024.02.19 -
[Java] 제네릭 - 1
본 포스팅은 제네릭의 기본 문법과 사용법에 대해 다룹니다. 기본개념 제네릭은 자바에서 데이터 타입을 일반화하여 보다 쉽게 사용할 수 있도록하는 것을 말합니다. 예제 코드는 아래와 같습니다. 아래와 같이 자바는 강타입 언어이기 때문에 메소드나 클래스에서 입력, 반환 데이터 타입을 지정해주어야합니다. 그렇기 때문에 메소드 오버로딩을 사용한다면 아래와 같이 타입별로 메소드를 따로 만들어주어야합니다. 이런 것들을 해결하기 위한 것이 제네릭입니다. public class Generic { public String plusReturnFunction(int a, int b) { ... } public String plusReturnFunction(int a, long b) { ... } public String pl..
2024.02.19