[우아한테크코스] 3월 9일 TIL
less than 1 minute read
오늘 배운 것
- 블랙잭 피드백 강의
- 모던 자바 인 액션 9장
블랙잭 피드백
- 자주 사용하는 인스턴스는 미리 생성
- PlayingCard 인스턴스가 만들어지는 경우의 수는 몇 가지 일까?
- 미리 생성하여 필요할 때마다 사용해 볼 수 있을까?
- 위의 방식은 어떤 장점이 있을까?
- 객체 지향의 다형성 이용해 조건문 줄이기
반복되는 조건문은 객체 지향의 다형성을 적용해 해결할 수 있다.
게임 내 규칙을 객체로 추상화한다. (hit, stay, blackjack, burst의 경우를 객체로 추상화하는 것)
현재 상태에서 다음 상태의 객체를 생성하는 역할을 현재 상태가 담당하도록 한다.
상태 패턴
- 캡슐화란? 속성과 행위를 하나로 묶고 사용하지 못하도록 숨기는 것
상태를 담당하는 객체를 추가 구헌해서 많은 조건문을 분리할 수 있다.
- 객체는 생명체로 현실 세계에 존재해야 한다.
- 객체는 계약에 의해서 동작한다.
- 객체는 캡슐화에 의해서 고유하다.
- 객체는 불변이다.
- 객체의 클래스에 정적 멤버가 없다. 정적 메서드는 복제가 불가능하고 스레드 안전하지 못하다.
- 객체의 이름이 무슨 일을 하는지 말하면 안된다.
'-er'
을 지양하라는 말이다.
- 객체의 클래스가 Final이나 Abstract이다.