3장의 내용 중 중요한 내용들을 정리했다. 클래스와 객체의 개념 흔히 얘기하는 붕어빵과 붕어빵틀처럼 생산수단과 생산물에 초점을 맞추는 것이 중요한게 아니다. 클래스는 분류에 대한 개념이고, 객체는 실체이다. 따라서 올바른 예시를 들자면, 사람과 강호동 같은? class Book{ public String name; public int price; } public class Main{ public static void main(String[] args){ Book springBook = new Book(); } } 정의한 클래스대로 만들어져 힙 메모리에 올라간 객체를 "클래스의 인스턴스"라고 한다. 위 코드에서 new Book()으로 힙에 올린 객체를 Book클래스의 인스턴스라고 하고, 인스턴스 변수 sp..
서론 저번주와 마찬가지로 이전 기수의 우테코 프리코스 주제를 5시간동안 구현해보고 서로 코드리뷰를 하는 방식으로 진행했다. 이번주는 자동차 경주게임이 당첨됐고 구현은 생각보다 쉬워서 책임의 분리와 스트림을 적용하는데 시간이 다갔던 것 같다. PR링크 코드의 링크를 남깁니다. 리뷰는 언제든 환영합니다... 기능 요구사항 정리 일단 입출력을 보고 기능목록을 작성을 어떻게 했나 설명하겠다. 💻 프로그래밍 실행 결과 예시 경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분) pobi,woni,jun 시도할 회수는 몇회인가요? 5 실행 결과 pobi : - woni : jun : - pobi : -- woni : - jun : -- pobi : --- woni : -- jun : --- pobi :..
우테코 3주차 로또 게임 피드백을 토대로 리팩터링을 진행했다. GETTER 대신 메시지를 던져주게 바꿀 것 당첨로또는 로또 상속받고 보너스 번호 따로 저장 비즈니스 로직과 UI 로직 분리(toString) Rank Enum 적용 당첨 수익금을 계산할 때도 Rank Enum을 적용해 불필요한 코드가 많이 삭제됐다. Lotto Enum 도 getter 대신 isRangeIn 으로 메시지 던지기 느낀 점 Enum 클래스 사용 Enum 클래스 및 일급컬렉션으로 새로운 자료구조를 만들어 사용하는 것은 불필요한 코드를 많이 삭제를 할 수 도있고 가독성부분에서도 많은 도움이 되는 것 같다. getter 사용 지양 아직도 습관적으로 Alt+Insert로 getter를 만드는게 습관이 됐지만 이번 리팩터링을 계기로 ge..
우테코 프리코스가 끝나고 그동안 배운 걸 정리하기 위해 글을 쓴다. 1주차 요구사항 준수할 것 커밋 메시지 의미있게 작성할 것 이름을 통해 의도를 들어낼 것 2주차 README.md 상세히 작성 기능목록 재검토, 업데이트 값을 하드코딩 하지 않기 3주차 메서드가 길어지면 분리를 고민할 것 발생할 수 있는 모든 예외상항을 고민할 것 비즈니스 로직과 UI로직을 분리할 것 public class Lotto { private List numbers; // 로또 숫자가 포함되어 있는지 확인하는 비즈니스 로직 public boolean contains(int number) { ... } // UI 로직 private void print() { ... } } 현재 객체의 상태를 보기위한 로그 메시지 성격이 강하다면 ..