JAVA/자료구조

Comparable 인터페이스

도전하는일반인 2021. 10. 1. 19:12

들어가기 전에

객체에서 숫자, 문자열 비교를 하려면 어떻게 해야 될까요? 객체의 비교 방법인 Comparable 인터페이스에 대해 알아봅시다.

 

학습 목표

Comparable 인터페이스를 이해할 수 있습니다.

 

핵심 단어

  • 오버라이드
  • Comparable 인터페이스

 

 

Override

 

one의 hello world와 two의 hello world를 비교하는 Java 코드입니다. 두 개의 문자열을 비교하기 때문에 equals 메소드는 두 변수가 같다고 할 것입니다.

 

 

이번에는 hello world를 저장한 두 개의 객체가 있다고 해 봅시다. 이 때 equals 메소드는 두 개의 메모리 주소를 비교하게 될 겁니다. 따라서 두 개의 객체는 일치하지 않습니다.


이처럼, 객체 클래스의 equals는 메모리 주소를 비교하지만, 문자열 클래스의 equals를 오버라이드하면 메모리 주소 대신 문자열을 비교하게 만들 수 있습니다.

 

Comparable 인터페이스

 

객체에서 원하는 자료형으로 비교하기 위해, Comparable 인터페이스를 활용합니다. 그리고 Comparable 인터페이스는 같은 자료형의 다른 객체 하나를 인자로 받아와 비교하는 compareTo 함수를 사용합니다. a.compareTo(b)는  a가 b보다 작을 때는 0보다 작은 수, a와 b가 같으면 0, a가 b보다 크면 0보다 큰 수를 반환합니다.

 

위와 같이 Comparable 인터페이스를 만들면 자료형에 알맞은 데이터가 들어와 compareTo 함수를 통해 같은 자료형의 데이터를 비교할 수 있습니다.

 


 

생각해보기


1) Comparable 인터페이스의 T는 무엇을 의미할까요?

 

나의 생각 : Type

 

출처  : https://www.boostcourse.org/cs204/lecture/480530?isDesc=false 네이버커넥트재단

'JAVA > 자료구조' 카테고리의 다른 글

매개변수화 타입  (0) 2021.10.01
제너릭 프로그래밍 소개  (0) 2021.10.01
객체지향 프로그래밍  (0) 2021.09.30
빅 오 표기법 예시  (0) 2021.09.30
빅 오 표기법  (0) 2021.09.30