본문 바로가기 메뉴 바로가기

NEVER·THE·LESS

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

NEVER·THE·LESS

검색하기 폼
  • 분류 전체보기 (16)
    • 개발일지 (2)
    • 알고리즘 (10)
      • 알고리즘 연습 (8)
    • Java (3)
      • 이펙티브 자바 (2)
    • Backend (1)
      • Spring Security (0)
  • 방명록

Java (3)
[아이템 2] 생성자에 매개변수가 많다면 빌더를 고려하라

정적 팩터리 메서드와 생성자는 선택적 매개변수가 많을 때 적절히 대응하기 어렵다는 단점이 있다. 💡 대안 1 : 자바빈즈 패턴 (JavaBeans Pattern) 매개변수가 없는 생성자로 객체를 만든 후, setter 메소드를 호출해 매개변수의 값을 설정한다. public class KongGookSoo { String name; String address; String kindOfBeans; boolean isAlways; int price; // getter, setter.. } KongGookSoo kgs = new KongGookSoo(); kgs.setName("서민준밀밭"); kgs.setAddress("서울시 영등포구"); kgs.setKindOfBeans("대두"); kgs.setIsAlw..

Java/이펙티브 자바 2023. 10. 25. 22:07
[아이템 1] 생성자 대신 정적 팩터리 메서드를 고려하라

// Boolean 클래스의 valueOf 메서드 public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE; } 👍 정적 팩터리 메서드가 생성자보다 좋은 장점 1. 이름을 가질 수 있다. 이름만 잘 지으면 반환될 객체의 특성을 쉽게 묘사할 수 있다. 예) BigInteger(int, int, Random) vs BigInteger,probablePrime 후자가 소수인 BigInteger를 반환한다는 의미를 더 잘 설명한다. 2. 호출될 때마다 인스턴스를 새로 생성하지 않아도 된다. (1) 자주 생성될 것 같은 객체는 미리 만들어 놓고 재사용하여 불필요한 객체 생성을 피할 수 있다. (2) 언제 어느 인스턴스를 살..

Java/이펙티브 자바 2023. 10. 23. 21:35
Java의 Thread와 제어

Thread 생성하기 Thread를 생성하는 방법에는 크게 두가지가 있습니다. Thread 클래스를 상속받는 것과, Runnable 인터페이스를 구현하는 것입니다. 1. Thread 클래스 class MyThread extends Thread { int num; MyThread(int num) { this.num = num; } @Override public void run() { System.out.println("# "+ num + " thread is running"); } } public static void main(String[] args) throws InterruptedException { for(int i=0; i

Java 2022. 7. 28. 09:46
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • 네이버 블로그 (~22.5.16)
TAG
  • Java
  • 백준
  • 유니온파인드
  • 프로그래머스
  • BuilderPattern
  • 시퀀스
  • 전위순회
  • 분리집합
  • 투포인터 #알고리즘
  • 후위순회
  • 중위순회
  • 스레드
  • 여행가자
  • 생성자
  • greedy
  • 이펙티브자바
  • 백준1976
  • effectivejava
  • 자바
  • 시퀀스가존재하지않습니다
  • deque
  • 알고리즘
  • 탐욕법
  • Sequence
  • 이진트리
  • ORA-02289
  • 빌더패턴
  • 트리순회
  • 정적팩터리메서드
  • BAEKJOON
more
«   2025/12   »
일 월 화 수 목 금 토
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
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바