728x90
반응형

Java 89

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

if. 생성자의 매개변수가 많다면 ❓ public class User { private long userSn; private String userId; private String userPw; public User(long userSn) { this.userSn = userSn; } public User(long userSn, String userId) { this.userSn = userSn; this.userId = userId; } public User(long userSn, String userId, String userPw) { this.userSn = userSn; this.userId = userId; this.userPw = userPw; } } 점층적 생성자 패턴도 쓸 수는 있지만, 매개..

Java 2022.05.24

[Effective Java] 아이템 1. 생성자 대신 정적 팩터리 메서드를 고려하라.

클라이언트가 클래스의 인스턴스를 얻는 전통적인 수단은 public 생성자다. 하지만 모든 프로그래머가 꼭 알아둬야 할 기법이 하나 더 있다. 클래스는 생성자와 별도로 정적 팩터리 메서드를 제공할 수 있다. ✅ 정적 팩터리 메서드는 디자인 패턴에서의 팩터리 메서드와 다르다. 👍 장점 1️⃣ 이름을 가질 수 있다. class Member { private String mbrId; private String mbrPw; public static Member ofMemberIdAndMbrPw(String mbrId, String mbrPw) { Member member = new Member(); member.setMbrId(mbrId); member.setMbrPw(mbrPw); return member; }..

Java 2022.05.24

[Java] Lambda & Stream 3

마냥 좋다고 생각하고 여기저기 검색중에 이러한 글을 봤다. => lambda operations do not allow any external variable operation within itself. 제길... 역시 뭔가 약점은 존재하는군... 성능에서도 for loop와 stream forEach를 비교했을때 더 떨어진다고 한다. 성능 테스트 public class Main { public static void main(String[] args) { // for loop와 stream forEach 의 성능 비교 Long forLoopStart = System.currentTimeMillis(); for (int i = -210000000; i < 2100000000; i++) { for (int ..

Java 2020.02.26
728x90
반응형