TIL

0726

casylm 2024. 7. 27. 21:46

빅오 표기법

정확한 표현을 하기 위한 것이 아니라 대략적인 추세를 보기 위한 것

추세를 보기 위한 것이므로 상수는 추세에 영향을

 

제네릭

와일드카드

와일드 카드는 제네릭 타입이나 제네릭 메서드를 선언하는 것이 아니다. 와일드 카드는 이미 만들어진 제네릭 타입을 활용할 때 사용하는 것이다.

 

와일드 카드의 ?는 무엇이든 다 상속받을 수 있다는 의미. 상한선이 없다는 의미

=> < ? extends Object> 를 의미한다.

 

제네릭 vs 와일드 카드

 

와일드카드의 한계

와일드 카드는 일반 메소드다. 즉, 매개변수로 들어오는 값만 제한없이 받는 것이지. return 타입은 결정 동적으로 결정할 수 없다. 이 경우 반환된 타입을 캐스팅 해야하는 상황이 발생할 수 있다. 제네릭의 경우는 반환타입, 매개변수 타입, 인스턴스 변수 타입 등을 동적으로 선언할 수 있으므로 위와 같은 상황에서는 와일드카드보다 제네릭 메서드를 사용해야 한다.

메서드의 타입들을 특정 시점에 변경하려면 제네릭 타입이나, 제네릭 메서드를 사용해야 한다.
와일드카드는 이미 만들어진 제네릭 타입을 전달 받아서 활용할 때 사용한다. 따라서 메서드의 타입들을 타입 인자를 통 해 변경할 수 없다. 쉽게 이야기해서 일반적인 메서드에 사용한다고 생각하면 된다.