본문 바로가기

개발 공부/소프트웨어5

객체지향 연습하기 (Java) - 볼링 게임 점수판 - 마무리 객체지향 연습하기 (Java) - 볼링 게임 점수판 지난 포스트 에 이어서 점수 계산과 화면 출력에 대해 구현해보겠습니다. 자세한 코드는 깃 허브 에 저장되어 있습니다. 이제 본격적으로 점수 계산 기능을 구현하겠습니다. 10개의 Frame이 자신의 점수를 가지고 있고, 점수에 따른 Frame의 상태 즉, STRIKE, SPAIRE 인지 아니면 단순히 평범하게 점수를 획득한 Frame인지에 대한 값을 가지게 됩니다. 먼저 Score 객체를 수정하겠습니다. private int firstShot; private int secondShot; private int finalShot; 기존의 Score 객체가 가지는 상태 값입니다. int 형 변수를 3개 사용하고 있습니다. 이 3개의 변수는 점수라는 하나의 공통.. 2020. 7. 6.
객체지향 연습하기 (Java) - 볼링 게임 점수판 - 구현하기(2) 객체지향 연습하기 (Java) - 볼링 게임 점수판 지난 포스트 에 이어서 Frame 클래스를 인터페이스를 이용하여 추상화 시키는 작업을 진행하겠습니다. 자세한 코드는 깃 허브 에 저장되어 있습니다. Frame Interface public interface Frame { boolean hasTurn(); void deductTurn(); } 프레임은 공통적으로 투구의 횟수가 남았는지와 투구 후에 턴을 계산하는 메세지를 수신할 수 있습니다. NomalFrame public class NomalFrame implements Frame { private static final int NOMAL_FRAME = 2; private static final int TOTAL_PIN = 10; private int .. 2020. 6. 10.
객체지향 연습하기 (Java) - 볼링 게임 점수판 - 구현하기(1) 객체지향 연습하기 (Java) - 볼링 게임 점수판 지난 포스트 에서는 객체간의 메시지들을 생각해보고 객체가 외부에 공개하는 인터페이스를 통해 메시지를 어떻게 수신할지 간단하게 작성해봤습니다. 이번 포스트부터는 기능의 구현을 통해 객체 간의 협력이 어떻게 이루어지는지 살펴보도록 하겠습니다. 먼저 Pin 클래스를 구현해보도록 하겠습니다. 한 프레임에 볼링 핀은 총 10개가 세워지게됩니다. 플레이어가 공을 투구하여 세워진 10개의 볼링 핀을 맞추게됩니다. 물론 못 맞출수도 있겠죠. 그리고, 각각의 볼링 핀 구현이 아닌 최대 10개까지, 즉 0개 이상의 볼링 핀을 구현하기 때문에 Pin -> Pins로 클래스 이름을 변경하겠습니다. public class Pins { private static final in.. 2020. 6. 5.
객체지향 연습하기 (Java) - 볼링 게임 점수판 - 메시지 생각하기 객체지향 연습하기 (Java) - 볼링 게임 점수판 지난 포스트 에서 볼링 게임 점수판을 구현하기에 앞서 생각해야할 것들을 정리해봤습니다. 이번 포스트에서는 볼링 게임 점수판을 구현하기 위해 어떤 객체들이 있고, 어떤 메시지들이 필요한지 살펴보겠습니다. 다만 주의할 점은 설계는 구현 과정에서 변할 수 있다는 점과 구현 전에 생각해보는 설계에 너무 큰 공을 들이지는 않을 것이라는 점입니다. 먼저 볼링 게임 점수판에는 어떤 객체들이 있을지 생각해보겠습니다. 플레이어 첫번째로 볼링 게임을 플레이하는 플레이어가 있습니다. 플레이어는 투구를 해서 볼링 핀을 넘어뜨리게 됩니다. 지금 프로젝트는 볼링 게임 프로젝트가 아닌 볼링 게임 점수판 프로젝트이기 때문에 플레이어가 어떤 식으로 투구할지는 생략하겠습니다. 볼링 핀.. 2020. 5. 26.
객체지향 연습하기 (Java) - 볼링 게임 점수판 - 생각해보기 객체지향 연습하기 (Java) - 볼링 게임 점수판 객체지향의 사실과 오해를 읽고, 객체지향 패러다임을 좀 더 이해하고, 연습하기 위한 자바 프로젝트입니다. 프로젝트의 주제는 객체 지향 프로그래밍 연습하기 좋은 방법은? 이라는 글을 읽고 볼링 게임 점수판으로 결정했습니다. 틀린 점, 개선해야할 부분이 있다면 피드백 주시기 바랍니다. 아무래도 경험이 부족하다보니 '~~ 것 같습니다' 같은 표현이 많이 등장하는 점 양해부탁드립니다. 구현에 앞서 프로젝트에 대한 분석과 설계를 해보겠습니다. 가장 먼저 해야할 것은 볼링 게임의 점수가 어떤식으로 계산이 되는지 알아보는 것 입니다. 볼링 점수 계산법 위의 내용을 간략히 정리해보면 볼링 핀은 10개 이다. 프레임은 총 10번 진행된다. 플레이어는 한 프레임에 두번 .. 2020. 5. 19.