2024/12/17 2

[JAVA] Comparable로 객체 정렬하기

객체 정렬은 Kruskal로 MST를 구할 때 자주 쓰이는 문법이다.엣지의 가중치를 오름차순으로 정렬한 후 엣지를 앞에서부터 선택하면 MST를 만들 수 있기 때문이다. 그런데 compareTo의 리턴값을 어떻게 설정해야 객체가 오름차순 또는 내림차순으로 정렬되는지 매번 헷갈려서 간단히 정리하고 넘어가려고 한다. 객체를 정렬하는 방법?정렬하고자하는 객체들을 리스트에 넣어 Arrays.sort()를 호출하면 된다. Arrays.sort() 호출 시 Comparable 인터페이스의 compareTo() 메서드가 호출된다. compareTo() 메서드는 두 객체를 특정 기준으로 비교하여 int값을 리턴하는 함수인데, compareTo()에 의해 양수가 리턴되면 두 객체의 자리를 바꾸는 식으로 정렬이 이루어진다...

Java 2024.12.17

[JAVA] 다형성이란? 다형성이 필요한 이유 | 오버라이딩, 오버로딩, 타입 변환(업캐스팅)

다형성은 무엇이고, 왜 필요할까요? 다형성은 객체 지향적 설계를 위한 4가지 원리 중 하나입니다.여기서 알 수 있듯이 다형성의 목적은 객체 지향의 실현입니다. 다형성이 어떻게 객체 지향을 실현하는지 살펴봅시다. 다형성이란?다형성은 어떤 객체의 속성이나 기능이 상황에 따라 다른 역할을 수행할 수 있는 것을 의미합니다.다형성은 오버라이딩, 오버로딩, 타입 변환 등에서 다양하게 나타날 수 있는데요, 하나씩 설명해보겠습니다. (1) 오버라이딩상위 클래스 메서드를 하위클래스에서 재정의하여 사용public interface Vehicle { //Vehicle 인터페이스 void start(); void moveForward(); void moveBackward();}public class Car i..

Java 2024.12.17