hello jiniworld

hello jiniworld

  • hello jiniworld (218)
    • Spring (58)
      • Basic (15)
      • Spring Docs (6)
      • Spring Data JPA Tutorial (14)
      • Spring Boot Tutorial (17)
      • Jersey (6)
    • Go (17)
    • Dev (10)
      • Clean Architecture (3)
      • System Design (2)
      • Documents (2)
      • Client (2)
    • Infrastructure (5)
      • Docker (1)
      • Kubernetes (4)
    • DB (19)
      • MySQL (8)
      • MariaDB (9)
      • Oracle (1)
    • Java (52)
      • Basic (14)
      • coding test (27)
      • Effective Java (11)
    • Python (7)
      • Flask (1)
      • Basic (3)
      • Effective Python (1)
      • coding test (2)
    • Front-end (3)
      • Vanilla JS (2)
      • Basic (1)
    • Linux (11)
      • Basic (2)
      • Command-line (9)
    • Web Server (6)
      • CentOS 7 (5)
      • Oracle Linux 8 (1)
    • WAS (3)
    • CentOS 7 (17)
      • Basic (9)
      • Jenkins (8)
    • Etc (10)
      • Windows 10 (3)
      • trash bin (3)
06-01 18:54
  • 전체보기
  • 방명록
  • jini's GitHub
  • demo api
  • chaeking api
RSS 피드
로그인
로그아웃 글쓰기 관리

hello jiniworld

컨텐츠 검색

태그

Jersey spring docs jenkins week1 Command-Line go Spring Boot Tutorial Spring effectivejava https hackerrank springboot Spring Boot codility MariaDB JAX-RS Java SpringBoot2 centos7 MySQL

최근글

댓글

공지사항

  • SSL 인증서 설정하기

아카이브

Java(52)

  • Item 6. 불필요한 객체 생성을 피하자

    2019.03.12
  • Item 3~5. private 생성자 또는 열거타입으로 Singleton 보증하라

    2019.03.10
  • Item 2. 생성자 인자가 많을 때는 Builder Pattern 고려하기

    2019.03.07
  • Item 1. constructor 대신 static factory method를 사용할 수 없는지 생각하라.

    2019.03.07
Item 6. 불필요한 객체 생성을 피하자

똑같은 기능의 객체를 여러번 이용할거라면, 매번 생성자를 통해 인스턴스를 생성하는 것보다, 불변 객체(static final)로 재사용 하자. 불변 객체를 이용한다니? 어렵게 느껴질 수도 있겠지만, 우리가 아주 많이 사용하던 String의 리터럴 방식의 선언 역시 불변 객체를 이용하는 방식이에요. String name = "jini"; 우리가 늘상 사용하던 위와 같은 방식이 하나의 String 인스턴스를 사용하는 방식이며, 똑같은 문자열 리터럴 사용하는 모든 코드에서 재사용이 보장되기도 합니다. 똑같은 기능의 객체를 여러번 재사용할 경우에 이 기능을 static factory method로 대체한다면, 매번 생성자를 호출하여 객체를 생성하지 않을 수 있습니다. 즉, Boolean b1 = new Bool..

2019. 3. 12. 01:06
Item 3~5. private 생성자 또는 열거타입으로 Singleton 보증하라

Singleton instance를 하나만 생성할 수 있는 클래스 설계상 유일해야하는 system component, 무상태(stateless) 객체 등에 이용됩니다. Singleton 만드는 방식 public static final field : 생성자는 private, 유일한 인스턴스를 public static 으로 설정. static factory method : 생성자는 private, 유일한 인스턴스도 private 정의 하며, 정적 팩터리 메서드를 통해 객체에 접근 enum : enum방식을 통해 생성자를 final static 형으로 선언하고 이용. 권장하는 방법은 3번째 방식입니다. public static final로 정의한 멤버 INSTANCE를 필드명으로 접근하는 방식 생성자는 pri..

2019. 3. 10. 15:45
Item 2. 생성자 인자가 많을 때는 Builder Pattern 고려하기

객체를 생성할 때 반드시 필요한 필수 인자와 옵션 인자. 이때, 옵션 인자가 너무 많을 경우 어떤 형태로 객체를 생성하는게 좋을까요? 점층적 생성자 패턴 ( telescoping constructor pattern) 자바빈 패턴 ( javabean pattern ) 빌더 패턴 ( Builder pattern ) 이 중에 빌더 패턴을 사용하기를 권장합니다! 나머지 두개의 패턴이 어떤 형태인지 보고, 왜 빌더 패턴을 권장하는지 알아보도록 합시다. 1. 점층적 생성자 패턴 필수 인자를 가진 생성자부터 시작해서, 선택적으로 필요한 인자들을 하나씩 추가한 점층적 생성자 패턴 영양 성분표 클래스를 예시로 들어보면 영양 성분표 중 servingSize, servings만 필수 인자이고 나머지는 옵션적으로 들어옵니다...

2019. 3. 7. 13:10
Item 1. constructor 대신 static factory method를 사용할 수 없는지 생각하라.

Class로부터 object를 만드는 2가지 방법. ① public constructor ② public static factory method 우리는 보통 public 생성자를 통해 객체를 생성한다. 이 때, 이 객체 생성을 static factory method를 이용하여 생성할 수는 없는지 아래의 장단점을 체크해보고 고려해보도록 하자. 장점1. 생성자와 달리 메서드이기에 이름을 가질 수 있다. 따라서 가독성이 높다. 메서드에는 우리가 이름을 지을 수 있다. 따라서 기능에 대해서 우리가 이름을 지어줄 수 있기에 가독성이 높다. 그리고 동일한 시그니쳐(= 동일한 매개변수들)를 이용해야 할 때, 만약 생성자로 만든다면 어떤 생성자가 어떤 기능을 하는지 헷깔릴 수가 있다. public Car(String ..

2019. 3. 7. 11:26
1 ··· 6 7 8 9
JINIWORLD
© jiniworld. All rights reserved.

티스토리툴바