본문 바로가기

Language/JAVA15

[Effective java] 정적 팩터리 메서드 목적 객체 생성을 생각하면 나는 보통 public 생성자를 떠올린다. 클라이언트에서 객체 생성을 할 때, public 생성자를 이용한 방법이 아닌 정적 팩터리 메서드를 이용한 방법을 알아보자. 정적 팩터리 메서드에 대해서 알아보자 정적 팩터리 메서드의 장단점에 대해 알아보자 책을 읽고 정리하자 정적 팩터리 메서드 클래스의 인스턴스를 반환하는 단순한 정적 메서드 예시 boolean의 값을 받아 Boolean 객체 참조로 변환하는 코드 public static Boolean valueOf(boolean b) { return (b ? TRUE : FALSE); }​ 장점 1. 이름을 가질 수 있다. 반환될 객체의 특성을 쉽게 묘사 가능 💡 임의의 소수 값 BigInteger 반환 BigInteger(int,i.. 2023. 7. 29.
[Effective java] private 생성자 - 인스턴스화 막기 목적 책 읽고 정리하자! 정적 메서드와 정적 필드만을 담은 클래스를 만들고 싶을 때 활용할 수 있는 방법을 알아보자. private 생성자의 활용법 한 가지를 알아보자. 인스턴스화를 막는 작업이 필요한 상황 아래와 같은 클래스들은 정적 메서드와 정적 필드만을 담은 유틸리티 클래스들로 볼 수 있다. java.lang.Math - 수학적인 연산과 함수를 제공하는 유틸리티 클래스 java.util.Arrays - 배열을 다루기 위한 다양한 유용한 메서드들을 제공 java.util.Collections - 다양한 유형의 컬렉션(자료구조)을 조작하고, 정렬하고, 검색하는 데 도움을 주는 메서드들을 제공 이와 같은 유틸리티 클래스들은 기본 타입 값이나 배열 관련 메서드들을 모아놓거나, 특정 인터페이스를 구현하는 객.. 2023. 7. 28.
[JAVA] Comparator, Comparable을 이용해서 배열과 List를 정렬하자. 목적 Comparator과 Comparable의 뜻은 각각 '비교기', '비교할 수 있는' 입니다. Java에서는 이 두 가지가 인터페이스로 정의되어 있습니다. 이 두 인터페이스 Comparator과 Comparable은 배열이나 List들을 정렬할 때, 정렬의 기준을 쉽게 커스터마이징할 수 있도록 도와주는 인터페이스입니다. 두 인터페이스를 활용할 때 어떠한 차이점이 있는지와 활용 방법에 대해 알아보고자 합니다. Comparator 먼저 Comparator 인터페이스에 대해 알아보겠습니다. Comparator 인터페이스는 자바에서 제공하는 인터페이스 중 하나로, 객체들의 정렬에 사용되는 메소드를 정의합니다. 이 인터페이스를 구현함으로써 사용자가 원하는 방식으로 객체를 비교하고 정렬할 수 있습니다. pub.. 2023. 7. 28.
LIST