13 Apr 2022 EffectiveJava
인스턴스화를 막거든 private 생성자를 사용하라
코딩을 하다보면 static메서드와 static 필드만을 담은 클래스를 만들 경우가 있다. 대표적인 예를 든다면, util클래스가 그럴것이다.
자바에서 기본적으로 제공하는 클래스 중에서 본다면 java.lang.Math
클래스와 java.util.Arrays
클래스가 있다. 또한, java.util.Collections
클래스처럼 특정 인터페이스를 구현하는 객체를...
12 Apr 2022 algorithmQuestion
회전하는 큐
No.01021 회전하는 큐
문제
지민이는 N개의 원소를 포함하고 있는 양방향 순환 큐를 가지고 있다. 지민이는 이 큐에서 몇 개의 원소를 뽑아내려고 한다.
지민이는 이 큐에서 다음과 같은 3가지 연산을 수행할 수 있다.
- 첫 번째 원소를 뽑아낸다. 이 연산을 수행하면,...
11 Apr 2022 EffectiveJava
private 생성자나 열거(enum) 타입으로 싱글턴임을 보증하라.
먼저, 싱글턴이 뭔지 간단하게 알아보자.
싱글턴(singleton)이란? 인스턴스를 오직 하나만 생성할 수 있는 클래스를 말한다. 싱글턴은 클래스의 인스턴스를 단 한번만 생성하는 것으로, 메모리 측면이나, 데이터 공유가 용이하다.
보통 싱글턴의 선언에는 두가지 방식이 쓰인다. 두 방식 모두 생성자는 private로 감춘뒤...
10 Apr 2022 EffectiveJava
생서자에 매개변수가 많다면 빌더를 고려하라.
정적 팩터리와 생성자에는 똑같은 제약이 하나있다. 선택적 매개변수가 많을때 적절히 대응하기 어렵다는 점이다.
예를 들어, 다수의 항목을 가지고 있는 클래스가 있다고 생각해보자.
public class Music{ private String title<span...
08 Apr 2022 algorithmQuestion
방 번호
No.01475 방 번호
문제
다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.
다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의...