일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- IT
- package-private
- 세마포어
- 스터디
- Effective Java
- java
- 컴퓨터과학
- 신입
- 컴퓨터공학
- 스프링
- CS
- 신입사원
- 깃
- 디지털
- 개발
- 자바
- OS
- 메모리
- 운영체제
- 정보처리기사
- 뮤텍스
- Public
- github
- 알고리즘
- 우리카드
- 이펙티브 자바
- 깃허브
- 공채
- 프로그래밍
- spring
- Today
- Total
목록java (15)
주니어 개발자 성장기
싱글톤을 사용하는 경우 크게 2가지 경우에 싱글톤을 사용하면 된다. 싱글톤을 사용하면 좋은 경우 DB 커넥션 등 인스턴스 생성 비용이 비싼 경우 반드시 사용해야 하는 경우 환경설정 등 애플리케이션 전반에 하나만 존재해야 하는 경우 Private 생성자 이펙티브 자바에서는 private 생성자를 기본으로 싱글톤을 구현하는 방법을 소개하고 있다. 그 중 첫 번째 방법인 public static final 멤버 변수를 사용하는 방법은 다음과 같다. public static final Elvis INSTANCE = new Elvis(); 즉, 필요 할 때마다 Elvis. INSTANCE를 직접 호출하면 된다. 문제점 테스트하기 어려운 구조 싱글톤 클래스를 사용하는 클라이언트 코드의 테스트가 어려워진다. 인터페이..
개요 클라이언트 코드가 어떤 클래스의 인스턴스를 얻는 전통적인 수단은 public 생성자이다. 하지만 이 방식은 단점이 존재하기 때문에 대안으로 정적 팩터리 메서드를 생각해 볼 수 있다. 정적 팩터리 메서드? 정적 팩터리 메서드는 간단하게 생성자와 같이 클래스의 인스턴스를 반환하는 역할을 한다. 영어로는 static factory methods public class CoffeeBean { // 원두 원산지 private String region; // 원두 품종 private String variety; // 원두 로스팅 시각 private LocalDateTime roastedAt; private CoffeeBean(String region, String variety, LocalDateTime ro..
call by reference를 쓰는 언어에서는 메서드를 호출할 때 객체를 전달받으면 해당 객체를 아예 다른 것으로 바꿀 수 있지만, java는 객체 참조를 포함한 모든 매개변수가 값으로 전달되기 때문이다. 자바는 객체 변수를 호출 시에 복사를 해서 참조를 전달하기 때문에 해당 객체 변수에 새로운 객체를(new) 할당해도 기존의 객체 변수의 참조에는 아무 변화가 없다. public void change(Employee e) { e = new Emplpyee("Nick"); } public static void main(String[] args) { Employee e1 = new Employee("Fred"); manager.change(e1); System.out.println("name =" + e..