본문 바로가기

자바2

Comparable, Comparator 인터페이스 백준 문제풀이를 진행하는데 있어 정렬에 조건을 줄 때, 아직 미흡한 이해 때문에 구글링을 번복하고 있다. 그렇기에 이번 기회에 확실하게 개념을 잡고 활용해보고자 정리하게 되었다. Comparable 인터페이스를 사용하려면 compareTo 메소드를 구현해야하는 것, Comparator 인터페이스를 쓰려면 compare 메소드를 구현해야 하는 점이 서로의 차이점이다. 보통 두 인터페이스는 "객체를 비교할 수 있도록 만든다." 라고 생각하는 것이 편하다. 하지만 왜 객체를 비교할 수 있도록 생각하라는 것일까? 우리는 원시 타입의 실수 변수 경우 부등호로 쉽게 비교할 수 있기 떄문이다. 하지만 새로운 클래스 객체를 만들어 비교하고자 한다면 본질적으로 객체는 사용자가 기준을 정해주지 않는 이상 어떤 객체가 더 .. 2023. 4. 15.
Ch01 객체 생성과 파괴 step1 : 생성자 대신 정적 팩터리 메서드를 고려하자 클래스는 public 생성자 대신 정적 팩토리 메서드를 제공할 수 있다. 장점 5가지 1st 이름을 가질 수 있다. 2nd 호출 될 때마다 인스턴스를 새로 생성하지 않아도 된다. -> 이에 대한 예시는 enum이 대표적이다. 사용되는 값들의 개수가 정해져 있으면 해당 값을 미리 생성해놓고 캐싱할 수 있는 구조로 만들 수 있다. 즉 정적 팩터리 메서드와 캐싱구조를 함께 사용하면 매번 새롭게 만들어 줄 필요가 없다. 3rd 반환 타입의 하위 타입 객체를 반환할 수 있는 능력이 있다. -> 상속을 사용할 때, 확인할 수 있다. 이때 정적 팩터리 메서드가반환값을 반환할 때, 상황에 따라 하위 클래스 타입의 객체를 반환할 수 있다는 것이다. 4th 입력 매.. 2023. 4. 5.