#코딩 #개발자 #이펙티브자바 #개발자필독 #도서리뷰
1 주차
목 | Assignment #2
📚 2장. 객체 생성과 파괴
✔️ TIL 오늘 TIL 3줄 요약
- 생성자 대신 정적팩토리메서드를 고려하라.
- 여기서 의미하는 정적팩토리메서드는 디자인패턴 팩토리메서드랑 다른 개념.
- 잘 이해가 안된다면, 이것만 기억! 생성자를 사용하는것보다 정적팩토리메서드를 사용하는게 장점이 더 많다.
TIL (Today I Learned) 날짜
2023.01.05
오늘 읽은 범위
2장. 객체 생성과 파괴 - 아이템1
책에서 기억하고 싶은 내용을 써보세요.
- 생성자 대신 static 팩토리 메소드를 고려해볼것
- 장점1. 이름을 가질 수 있다.
- 장점2. 반드시 새로운 객체를 만들 필요가 없다.
- 장점3. 리턴 타입의 하위타입 인스턴스를 만들수도 있다.(유연성)
- 장점4. 리턴하는 객체의 클래스가 입력 매개변수에 따라 매번 다를 수 있다.(유연함)
- 장점5. 리턴하는 객체의 클래스가 public static 팩토리메소드를 작성할 시점에 반드시 존재하지 않아도 된다.
-단점1. public 또는 Protected 생성자 없이 static public 메소드만 제공하는 클래스는 상속할 수 없다.
(오히려 장점일수 있을듯)
public class Foo {
String name;
String address;
public Foo(){
}
public static final Foo GOOD_NIGHT = new Foo();
public Foo(String name){
this.name=name;
}
public static Foo withName(String name) {
return new Foo(name);
}
public static Foo withAddress(String address){
Foo foo = new Foo();
foo.address = address;
return foo;
}
public static Foo getFoo(){
return GOOD_NIGHT;
}
public static Foo getFoo(boolean flag){
return flag? new foo(): new BarFoo();
}
public static void main(String[] args){
Foo foo = new Foo("jiyoung");
Foo foo1 = foo.withName("jiyoung");
Foo foo2 = Foo.getFoo(); //매번 새로운 객체를 만들 필요가 없다.
}
static class BarFoo extends Foo {
}
}
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
- 첫장부터 막히다니.. 내 자신을 반성하는 시간이였다.
천천히 꾸준히 읽어야지!!!
- 20230105 백기선님이 유튜브에 올려주신 1시간짜리 강의를 보았다. 나름 한번 더 정리된 느낌이다.
참고 블로그
https://sun-22.tistory.com/m/84
'개발자 필독도서 리뷰' 카테고리의 다른 글
[독서] “이펙티브 자바 3편” 4일차 (0) | 2023.01.09 |
---|---|
[독서] “이펙티브 자바 3편” 3일차 (0) | 2022.10.24 |
[독서] “이펙티브 자바 3편” 1일차 (0) | 2022.10.17 |
[독서] "객체지향의 사실과 오해" 7일차 (0) | 2022.04.22 |
[독서] "객체지향의 사실과 오해" 6일차 (0) | 2022.04.21 |