compareTo 2

[Kotlin] 비교 연산자 오버로딩

Kotlin in Action 을 공부하고 Effective kotlin 의 내용을 조금 참조하여 정리한 글입니다. 코틀린에서는 산술 연산자와 마찬가지로 원시 타입 값뿐 아니라 모든 객체에 대해 비교 연산을 수행할 수 있다. 자바에서는 객체 비교 시 `equals` 나 `compareTo` 를 호출해야 함 코틀린에서는 `==` 비교 연산자를 오버로딩하여 사용 가능 이번에는 비교 연산자를 지원하는 convention(관례) 를 살펴보자. 동등성 연산자: equals 코틀린은 `==` 연산자 호출을 `equals` 메서드 호출로 컴파일한다. 이는 다른 산술 연산자 오버로딩처럼 convention 을 적용한 것이다. `!=` 연산자를 사용하는 식도 `equals` 호출로 컴파일된다. (비교 결과를 뒤집은 값을..

Kotlin 2024.01.24

자바 - Comparable, Comparator

Comparable 이 인터페이스를 구현하는 각 클래스 개체에 순서를 지정합니다. 이 순서를 natural ordering(자연순서) 라고 하며 클래스의 compareTo 메서드를 자연 비교 메서드라고 합니다. 이 인터페이스를 구현하는 객체 List 나 Array 는 (이하 List) Collections.sort() 로 자동으로 정렬할 수 있습니다. 따로 comparator 을 지정하지 않아도 말이죠. compareTo 메소드 public int compareTo(T o); Comparable 은 compareTo 라는 메서드를 가지고 있습니다. 이 객체를 지정된 객체와 비교하여 순서를 지정하는 메소드입니다. 파라미터 o 는 nullable 입니다. compareTo 메서드를 호출하는 객체가 파라미터인..

Java/이론 2023.06.01