본문 바로가기

Programming/Java

(2)
[Effective Java] 정적 팩토리 메서드(Static Factory Method)는 왜 사용할까? Item 1. 생성자 대신 정적 팩터리 메서드를 고려하라.  정적 팩터리 메서드란?정적(static) 팩토리(factory) 메서드 (method)객체 생성을 캡슐화하는 기법좀 더 구체적으로는 객체를 생성하는 메서드를 만들고, static으로 선언하는 기법이다.생성자 호출 방식이 아닌, 메서드 호출 방식으로 객체를 생성하는 것이다. 정적 팩토리 메서드는 객체의 생성을 담당하는 클래스 메서드이다.일반적으로, Java를 공부할 때 객체의 생성을 위해 `new` 키워드를 사용한다. 그렇다면 어떻게 메서드를 이용해서 객체를 만들 수 있을까?`new`를 직접적으로 사용하지 않을 뿐, 정적 팩토리 메서드라는 클래스 내에 선언되어 있는 메서드를 내부의 `new`를 이용해 객체를 생성하여 반환하는 것이다.정적 팩토리 ..
[Java] 비교를 위한 인터페이스 : Comparable과 Comparator 들어가며자바를 주언어로 변경하면서, 코딩테스트에 임할 때 내가 가장 어려워한 부분이다.PriorityQueue에 객체를 넣었을 때 특정 기준에 대해 "비교"하고 싶을 때, Python을 람다식을 사용해 간단하게 해결했었는데Java의 경우 Comparable? Comparator? 여러 코드들을 응용했고 비슷비슷하게 생긴 표현식에 IDE의 도움 없이는 구현하기 어려웠기에 시간이 있을 때 정리를 해두려고 한다.  인터페이스일종의 추상 클래스클래스들이 필수로 구현해야 하는 추상 자료형 사용을 강제하거나, 인터페이스의 추상메서드를 사용하도록 하여, 각 클래스들의 변경을 용이하게 대처한다.Comparable과 Comparator 모두 객체를 비교 목적의 인터페이스이다.따라서, 인터페이스 내에 선언된 메서드를 Ov..