반응형
🎯 핵심 차이:
Comparable vs Comparator
비교 대상 Comparable Comparator
기준 위치 | "내 안에 기준 있어!" | "외부에서 기준을 줘!" |
✅ Comparable은? ( 비교 가능한)
📦 어떤 객체(예: 학생 클래스) 자기 안에
“나는 이렇게 정렬돼야 해” 하고
정렬 기준을 스스로 정해놓는 것
예:
나는 성적으로 정렬될 거야!
다른 사람 필요 없어, 나 혼자 기준 있음!
✅ Comparator는? ( 비교 측정기)
🔧 객체는 기준을 모르고,
외부 사람이
“얘네는 이렇게 정렬하자” 하고
기준을 따로 줘서 정렬하는 것이야.
예:
얘네를 이름순으로 정렬해줘!
다음엔 생일순으로 정렬해줘!
➡️ 정렬 기준을 그때그때 바꿔줄 수 있음!
🧠 진짜 쉬운 비유
✔ Comparable은?
👤 “나는 키 순서대로 줄 설 거야!”
→ 사람이 스스로 정렬 기준을 갖고 있는 경우!
✔ Comparator는?
🧑🏫 선생님이 기준을 줌:
“너희 오늘은 이름순으로 줄 서!”
“내일은 생일순으로 줄 서!”
→ 객체는 몰라.
→ 선생님(외부 기준)이 정해주는 거야.
💬 요약 한 줄로
- Comparable 👉 내가 스스로 정렬 기준을 가지고 있음
- Comparator 👉 외부에서 정렬 기준을 그때그때 정해줌
반응형
'프로그래밍 > JAVA' 카테고리의 다른 글
자바스크립트 ES6 - 7가지 사용법 (모던 프로그래밍) (0) | 2025.04.22 |
---|---|
제네릭(Generics) (0) | 2025.04.22 |
팩토리얼 (1) | 2025.04.22 |
컬렉션 List & Set 차이점 (0) | 2025.04.22 |
컬렉션 (0) | 2025.04.21 |