본문 바로가기

개발 이야기/CC-Java

(15)
[2주차] 로또게임 - 일급콜렉션(2주차 핵심내용) https://jojoldu.tistory.com/412 일급 컬렉션 (First Class Collection)의 소개와 써야할 이유 최근 클린코드 & TDD 강의의 리뷰어로 참가하면서 많은 분들이 공통적으로 어려워 하는 개념 한가지를 발견하게 되었습니다. 바로 일급 컬렉션인데요. 왜 객체지향적으로, 리팩토링하기 쉬운 코드로 갈려면 일급.. jojoldu.tistory.com 오늘은 상단에 링크 걸어둔 페이지를 참고하여 학습할 예정이다. 학습 후 포스팅 할 내용이 있으면 포스팅할 예정 :)
[2주차] 로또게임 - Step2. Merge 후 최종 피드백 반영하기 - 7월에 교육 마치면서, 이것 저것 일정이 겹친 덕분에 이제서야 소스코드 머지 된 것을 반영하고 다음 단계로 넘어간다. step3로 넘어가기 전에 리뷰어님의 리뷰를 최대한 반영했다. 개인적으로 소스코드가 마음에 안들어서 확..뒤집고 싶지만 일단 점진적으로 바꿔보자는 말씀에 그러기로 했다. - 리뷰어님이 말씀주신 개선 할 점은 두 가지로 하기에 그 내용과 해결과정을 정리해 두었다. 1 2 3 4 5 6 7 8 9 public static Set purchasedLottos(int lottoCount) { Set collectAutoLotto = new HashSet(); while (collectAutoLotto.size() trim을 이용해서 값을 쪼개어 저장하는 형식이 입력값에 대한 처리를 가장 수월..
[2주차] 로또게임 - Step2. 피드백 src/main/java/step2/InputView.java InputView 등 상태가 없는 클래스의 경우 굳이 인스턴스를 생성하여 사용하는 것 보다 static으로 사용 => 완료 src/main/java/step2/Lotto.java 현재 Lotto의 클래스 내부에 존재하는 메서드는 모두 List (로또번호들) 와 관련된 일을 수행하고 있습니다. Lotto의 멤버변수로 List를 두어 구현해보면 어떨까요? 그렇게 된다면 로또 번호와 관련된 메서드들을 모을 수 있을 것 같아요 :) => 완료 리턴타입으로 클래스가 아니라 인터페이스를 사용하는게 도움이 될 수 있습니다 :) => 완료 src/main/java/step2/LottoLottery.java public List lotteryStatics(S..
[1주차] 자동차 경주 게임 - Step3. 피드백(4)_추상화 * 하기 내용은 프로그래머스 자바 입문 강의 및 소스코드 + 구글링 + 제 개인적 견해로 작성된 내용입니다. 4. 추상화 1) 추상클래스 구체적이지 않은 클래스를 의미 독수리, 타조는 구체적인 새를 지칭하는데, '새'는 구체적이지 않다. 이런 것을 구현한 클래스가 추상 클래스이다. 2) 추상클래스 정의하기 클래스 앞에 abstract 키워드를 이용해서 정의 미완성의 추상 메소드를 포함 할 수 있다. 추상클래스는 인스턴스를 생성 할 수 없다. 추상화 사용 시, 유지/보수가 용이하다. ...더보기 추상메소드란, 내용이 없는 메소드이다. 즉, 구현이 되지 않은 메소드이다. 추상메소드는 리턴 타입 앞에 abstract라는 키워드를 붙여야 한다. 1 2 3 4 5 6 7 /* 추상클래스 예시 */ public a..
[1주차] 자동차 경주 게임 - Step3. 피드백(3)_Interface 3. 인터페이스 1) 인터페이스의 정의 서로 관계가 없는 물체들이 상호 작용을 하기 위해서 사용하는 장치나 시스템 인터페이스 정의하는 방법: 추상메소드와 상수를 정의 할 수 있다. 특정 로직이 있는 메소드는 생성 불가하다. (컴파일 에러발생) 1 2 3 4 5 6 7 8 9 public interface TV{ public int MAX_VOLUME = 100; public int MIN_VOLUME = 0; public void turnOn(); public void turnOff(); public void changeVolume(int volume); public void changeChannel(int channel); } Colored by Color Scripter 인터페이스에서 변수를 선언하면..
[1주차] 자동차 경주 게임 - Step3. 피드백(2)_변수의 scope와 static * 하기 내용은 프로그래머스 자바 입문 강의 및 소스코드 + 구글링 + 제 개인적 견해로 작성된 내용입니다. 2. 변수의 scope와 static 1) 변수의 사용범위 = 변수가 선언 된 블럭 1 2 3 4 5 6 7 8 9 10 11 12 13 14 public class ValableScopeExam{ int globalScope = 10; // 인스턴스 변수 public void scopeTest(int value){ int localScope = 10; System.out.println(globalScope); System.out.println(localScpe); System.out.println(value); } } Colored by Color Scripter 프로그램상에서 사용되는 변수들은..
[1주차] 자동차 경주 게임 - Step3. 피드백(1)_객체 선언 * 하기 내용은 프로그래머스 자바 입문 강의 및 소스코드 + 구글링 + 제 개인적 견해로 작성된 내용입니다. 1. 객체 선언하기 자바는 객체지향 언어이다. 프로그램을 구성하는 요소가 객체이다. 객체가 상호작용 하도록 만드는 것이 프로그래밍이다. 따라서, 자바는 프로그램을 구성하는 요소를 상호작용하도록 만드는 프로그래밍 언어이다. 1) 클래스( =객체를 만들기 위한 틀 ) 자바는 객체를 만들기 위해서, 반드시 클래스를 먼저 만들어야 한다. 클래스는 객체를 만들기 위한 틀이다. 예) 붕어빵 = 객체/붕어빵 틀 = 클래스 ▼ 클래스 선언 예시 i) Car.java 파일을 만들어 자동차 클래스를 만든다. ii) 저장을 하면 이클립스는 컴파일하여 디스크에 Car라는 클래스를 생성한다. iii) 자동차 클래스가 생..
[1주차] 자동차 경주게임 - step3 피드백 1. 객체선언하기 2019/06/30 - [개발 이야기/CC-Java] - [1주차] 자동차 경주 게임 - Step3. 피드백(1) 2. static 2019/07/02 - [개발 이야기/CC-Java] - [1주차] 자동차 경주 게임 - Step3. 피드백(2) 3. 인터페이스 2019/07/02 - [개발 이야기/CC-Java] - [1주차] 자동차 경주 게임 - Step3. 피드백(3)_Interface 4. 추상화 2019/07/03 - [개발 이야기/CC-Java] - [1주차] 자동차 경주 게임 - Step3. 피드백(4)_추상화 5.캡슐화