우테코 5기/레벨1

우테코 5기/레벨1

[레벨1] 정적 팩토리 메서드 활용법 총 정리

정적 팩토리 메서드로 생성자 다이어트 시키기 이펙티브 자바 아이템1(생성자 대신 정적 팩터리 메서드를 고려하라)를 읽고 사다리 미션에 적용해보며 학습한 내용들을 정리해보자. 사다리 생성 미션을 진행하며, 다음과 같은 궁금증이 들었 xxeol.tistory.com 위 게시글에서도 한차례 정적 팩토리 메서드 활용방안을 정리해봤는데, 레벨1을 마무리하며 미션 내 정적 팩토리 메서드를 활용한 사례들을 총 정리하려고 한다. 🪜 사다리 미션 일급 컬렉션 Player의 일급 컬렉션 Players에서 정적 팩토리 메서드를 활용해 플레이어의 이름으로 Player 객체를 생성했다. 일급 컬렉션에 정적 팩토리 메서드를 도입함으로써 생성자는 필드값을 검증하고, 필드를 초기화하는 역할만 가지도록 하고, Player의 생성 책임..

우테코 5기/레벨1

[체스 미션] 클래스 abstract / final로 만들기

체스 미션에서 전략패턴을 도입하면서 다음과 같은 클래스 상속 구조를 갖추게되었다. https://xxeol.tistory.com/22 [체스 미션] 상속 대신 전략패턴 도입하기 나는 체스 미션의 설계를 아주 많이 갈아엎었다.. 대공사가 정말 많았다. 한 4-5번 정도? (이 과정은 다른 포스팅에서 기록해두려고 한다.) 오늘은 상속으로 이루어져있던 코드를 전략패턴을 도입 xxeol.tistory.com 여기서 한 가지 문제점이 있다. public class Piece { protected final Color color; protected final PieceType type; public Piece(Color color, PieceType type) { validateColor(color); this.c..

우테코 5기/레벨1

[체스 미션] 상속 대신 전략패턴 도입하기

나는 체스 미션의 설계를 아주 많이 갈아엎었다.. 대공사가 정말 많았다. 한 4-5번 정도? (이 과정은 다른 포스팅에서 기록해두려고 한다.) 오늘은 상속으로 이루어져있던 코드를 전략패턴을 도입해 조합으로 바꾼 대공사에 대해 설명하고자 한다. 기존의 코드(step1)에서, 나는 Piece라는 추상 클래스를 상속하는 방법으로 각 기물들을 구현했다. Piece라는 추상클래스가 있고, 기물별로 구현체가 존재했다. 하지만 해당 코드에서 한가지 찜찜한 점이 있었다. public class Bishop extends Piece { /***/ @Override public PieceType getType() { return PieceType.BISHOP; } } 그것은 바로 위와 같이 getType 함수를 통해 해당..

우테코 5기/레벨1

정적 팩토리 메서드로 생성자 다이어트 시키기

이펙티브 자바 아이템1(생성자 대신 정적 팩터리 메서드를 고려하라)를 읽고 사다리 미션에 적용해보며 학습한 내용들을 정리해보자. 사다리 생성 미션을 진행하며, 다음과 같은 궁금증이 들었다. Player의 일급 컬렉션 Players는, 생성자의 파라미터로 List players를 받는게 좋을까, List playerNames를 받는게 좋을까? // 1. List players 받기 public Players(List players) { this.players = players; } // 2. List playerNames 받기 public Players(List playerNames) { List players = playerNames.stream() .map(Player::new) .collect(Col..

도둑탈을 쓴 애쉬
'우테코 5기/레벨1' 카테고리의 글 목록