Java 2

[Java] Comparable vs Comparator

Comparable, Comparator 모두 인터페이스로 객체의 값 비교나 정렬할 때 많이 사용한다. 인터페이스를 상속받아서 두 객체를 비교할 수 있도록 만들어주는 것이다. 왜 객체를 비교해야할까? primitive 타입의 경우 부등호로 쉽게 비교가 가능하다. 그러나 객체의 경우 부등호로 비교할 수 없다. 고로 두 인터페이스 중 한가지를 이용하여 객체를 바교하는 것이다. 둘 다 사용하고자 한다면 인터페이스 내 선언된 메서드를 반드시 구현해야한다. Comparable 인터페이스는 compareTo(T o) 메서드를 구현해야하고 Comparator 인터페이스는 compare(T o1, T o2) 메서드를 구현해야 한다. Comparable의 compareTo 메서드는 파라미터가 한개이고, Comparato..

Java 2022.11.21

[Java] 자바의 final 키워드는 언제 어떻게 사용하는 것일까

세 줄 요약 자바의 final 키워드는 변수, 메소드, 클래스 앞에 사용된다. 자바의 final 키워드는 사용되는 곳에 따라 해석이 다르다. 그러나 공통적으로 가지는 의미는 앞에 final 키워드를 붙여 다른사람의 사용을 제한한다는 의미를 가지고 있다. final 키워드가 붙는 곳에 따라 제한하는 내용을 표로 간략히 정리하였다. Type Description Final Variable 재할당이 불가능하다. Final Method 자식클래스에서 override가 불가능하다. Final Class 상속이나 extend가 불가능하다. 그럼 final 키워드가 각각 변수, 메소드, 클래스 앞에 붙을 경우 어떤 의미를 갖는지 알아보자. final이 변수앞에 붙을 때 변수 앞에 final을 붙이면 변수는 재할당이 ..

Java 2022.02.21