목록programing-languages (18)
yeonuel-tech

Comparable은 해당 클래스의 기본 정렬을 의미하고 Comparator는 기본 정렬 이외의 정렬 기준을 의미하여, 정렬 알고리즘을 분리해 놓은 것이다. 즉 Strategy 패턴이 적용됨 1. Comparable, 기본 정렬 2. Comparator, 기본 정렬 이외의 정렬 기준(Strategy 패턴) Comparable를 상속받아서 구현하면 해당 메서드를 구현해야하는데 그 메서드는 인스턴스 자기 자신의 변수값과 다른 인스턴스의 변수값을 비교한다 그래서 sort 메서드를 호출하면 해당 기준으로 정렬된 결과값을 얻을 수 있다 하지만, Comparator는 기본 정렬 기준 이외의 기준으로 비교한다 따라서 sort 메서드를 호출하면 정렬 대상과 정렬 기준을 넣어주어 해당 정렬 기준에 따른 결과 값을 얻을 ..

와 의 차이자바 코드를 보면 지네릭스에 와일드 카드를 적용한 와 로 쓰이는 것을 종종 볼 수 있다 하지만 둘의 의미를 명확하게 파악하는 것은 어렵다 따라서 이글은 단순한 정의를 넘어서 어느 시점에 와 를 사용하는지 알아볼 것이다. 는 T와 그 자손 타입을 허용하는 의미로, 상한제한이다는 T와 그 조상 타입을 허용하는 의미이고 하한제한이다 여기서 중요한 것은 T와 그 조상타입 그리고 자손타입의 허용 범위를 제한하는 것을 왜 사용했는지 알아야한다.이를 알기위해서는 대표적으로 사용되는 코드의 문맥을 통해 파악하는 것이 중요하다 대표적으로 와 가 많이 쓰이는 곳은 Collection의 구현체이다. 여기서는 java의 List와 ArrayList 그리고 Arrays를 분석할 것이다. 다음은 List인터페이스의 a..