Free Lines Arrow
본문 바로가기
728x90

Language/Java31

[Java] Generic 메서드 Generic 메서드 메서드 선언 부에 지네릭 타입이 선언된 메서드를 지네릭 메서드라고 한다. 원래 static 메서드에는 타입 매개변수를 쓸수 없다. 하지만 메서드에 제네릭 타입을 선언하고 사용하는 것은 가능하다 public static void repair(VehicleContainer vehicleContainer) 사용할때는 아래와 같이 타입을 명시해 줘야 한다. VehicleServiceCenter.repair(boatVehicleContainer); VehicleServiceCenter.repair(carVehicleContainer); Generic 메서드 예제 1 이제 선언부에 제네릭 타입을 선언해 줬기 때문에 매개변수로 지네릭을 받을수 있다. @Slf4j public class Vehic.. 2022. 6. 25.
[Java] Generic 와일드 카드 Generic 와일드 카드 앞서 제한자를 알아봤다 이제 제한자의 한계점을 알아보고 그에 와일드 카드를 사용하여 이점을 해결해본다. Generic 와일드 카드 의 구조 모든 타입이 가능하다. extends 의 제한 사항 static 클래스에서 타입 매개변수 T 를 매개변수에 사용할수 없다. 같은 경우는 해당 클래스만 받을수 있다. public static void repair(VehicleContainer vehicleContainer) { log.info("container list size : {}", vehicleContainer.getSize()); List vehicles = vehicleContainer.getVehicleList(); for(Vehicle vehicle : vehicles) {.. 2022. 6. 25.
[Java] Generic 제한 Generic 제한 제네릭의 접근 제한에 대해 알아본다. 앞서 Generic 기초에서 모든 타입을 받을수 있다는 것을 알았다. 하지만 타입을 제한 해야 되는 일이 필요하다면? Generic 제한 필요성 Generic 기초에서 VehicleRepairService 에서 Vehicle 외에 House 타입도 지정할수 있었다. 2022.06.11 - [Language/Java] - [Java] Generic 기초 VehicleRepairService 에 House 가 들어가면 안된다. 하지만 모든 타입을 다 받게 해서 House 타입도 들어간다. // House 타입이 가능하면 안됨 House house = new House(); VehicleRepairService vehicleRepairRepairServ.. 2022. 6. 21.
[Java] Generic 기초 Generic 제네릭에 대해 깊이 공부좀 해보자. 제네릭의 개념 제네릭의 타입 제네릭에서 경계와 제한 방법 제네릭 사용시 주의점 Generic 등장 배경 Generic 의 등장 배경은 컬렉션으로 부터 시작이 된다. Generic 이 나오기전에는 컬렉션에서 객체를 꺼낼때 마다 형변환을 해야 했다. Java 5 부터 나온다 - Java 버전을 적은 이유는 raw 타입을 쓰지 말라고 해놓고 지원되는 이유다 - Java5 와 호환성을 위해 남겨두게 되었다. 형변환의 문제점 불편하다. 실수로 다른 타입을 넣게 되면 문제가 발생한다. - 그것도 runtime 에!!!!!!! Generic 이점 컴파일 시점에 타입을 체크한다. - 컴파일이 안되니 런타임에 발생하는 문제를 없앨수 있다. 위와 같은 이유로 안전성이 보장.. 2022. 6. 11.
728x90
반응형