4주간 진행되었던 프리코스 마지막을 장식할 미션은 바로 다리 건너기 게임입니다. 기능 요구 사항은 아래와 같으며 마지막 요구사항인 만큼 추가된 요구사항들이 정~~말 많았는데요 그 만큼 새로 느끼고 배우는 점들도 많았고 요구사항들에 맞춰 리팩토링 하는 재미가 쏠쏠했었습니다 ㅎㅎ 4주차 다리 건너기 미션 : https://github.com/SuhHyeonjun/java-bridge 직접 작성한 코드 : https://github.com/woowacourse-precourse/java-bridge/pull/131 이번 4주차의 목표는 요구사항도 많아 졌고, 이전 미션들에서 받았던 피드백들을 합쳐서 좀 많았습니다 확실히 이렇게 목표 체크리스트를 만들고 나니 과제를 완성한 후 목표를 하나씩 지켰는지 확인하는 과..
이번 포스팅에선 JUnit5의 Assertions으로 테스트 코드 작성하는 법에 대해 알아보고자 합니다. JUnit5의 어노테이션과 메서드들은 아래 링크에 설명해놨으니 참고 하시면 됩니다. [Java/자바] JUnit5란? JUnit5 이란 ? Java 개발자가 가장 많이 사용하는 테스팅 프레임워크로, JAVA 8 버전부터 사용 가능하며 테스트 주도 개발(TDD, Test Driven Development)을 위해 사용됩니다. 요구사항을 검증하는 테스트 케 hstory0208.tistory.com JUnit 5 Assertions assertArrayEquals 예상 배열(expected)과 실제 배열(actual))이 동일한지 확인합니다. 두 배열이 일치 하지 않다면, 마지막 인자인 메세지가 출력됩니다..
안녕하세요 ~ 2주차 후기 이후로 오랜만에 포스팅하네요 하하.. 이번 3주차 미션의 난이도도 어렵기도 했고 욕심을 가지고 하다보니 포스팅 할 시간이 부족하더라구요 아직 정리 할 내용들이 산더미 처럼 많은데 마지막 프리코스가 끝나고 폭풍 정리 시작해야겠습니다 👊🏻 제가 작성한 코드는 이곳을 클릭하여 보실 수 있습니다. 프리코스 3주차 - 로또 미션 이번 3주차 미션은 로또 미션이였는데요 2주차 미션의 요구사항에서 다음과 같이 요구사항이 추가되었습니다. 그리고 다음과 같이 미리 작성된 Lotto 클래스를 이용하여 로또 게임을 구현하는 제한사항이 주어졌습니다. 로또 게임을 완성한 후 실행 결과 예시입니다. 구입금액을 입력해 주세요. 8000 8개를 구매했습니다. [8, 21, 23, 41, 42, 43] [3..
드디어 본격적인 시작을 알리는 2주차가 시작되었습니다 ! 2주차는 1주차에서 배운 점들을 최대한 적용하여 과제를 진행하기 위해 다음과 같이 2주차 목표를 세웠습니다. 저는 제 나름대로 이 목표들을 다 달성해서 제출했다고 생각하지만 과연 이 목표대로 이번 과제를 잘 했는지 결과가 궁금하네요 🙄🙄 이번 2주차 숫자 야구 게임 역시 배우고 느낀 점들이 참 많았는데요. 그 내용들에 대해 하나씩 정리해보자 합니다. 새롭게 배운 것과 느낀 점들 인텔리제이 사용 1주차는 이때까지 자바의 정석을 독학하면서 이클립스를 사용해 익숙한 이클립스를 사용했었습니다. 그리고 이클립스와 인텔리제이의 차이점을 검색했을 때 이클립스는 무료인 반면 인텔리제이는 유료라는 말이 있었기 때문에 이클립스를 사용하고 있기도 했었습니다. 하지만 ..
MVC란 ? MVC 패턴의 등장 하나의 서블릿이나 JSP만으로 비즈니스 로직과 뷰 렌더링까지 모두 처리하게 되면, 너무 많은 역할을 하게됩니다. 그렇게 되면 비즈니스 로직을 호출하는 부분에 변경이 발생해도 해당 코드를 손대야 하고, UI를 변경할 일이 있어도 비즈니스 로직이 함께 있는 해당 파일을 수정해야 하기 때문에 유지보수가 어려워집니다. HTML 코드 하나 수정하거나 비즈니스 로직하나를 수정하는데, 수백 수천줄의 HTML코드나 자바 코드가 함께 있다면 정말 지옥일 겁니다 🤯 그래서 이러한 문제를 해결하고자 MVC 패턴이 등장하게 되었습니다. MVC 는 Model - View - Controller의 약자로, 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 3가지로 구분한 패턴입니다. Mod..
접근 제어자는 멤버 또는 클래스에 사용하여 해당하는 멤버 또는 클래스를 외부에서 접근하지 못하도록 제한하는 역할을 합니다. 만약 멤버 또는 클래스 앞에 접근 제어자가 지정되어 있지 않다면, 접근 제어자가 default임을 뜻합니다. 주의할 점으로 하나의 소스파일(*.java)에는 public 클래스가 단 하나만 존재할 수 있으며, 소스파일의 이름은 반드시 public 클래스의 이름과 같아야 합니다. 접근 제어자를 사용하는 이유는 다음과 같습니다. 외부로부터 데이터를 보호하기 위해 외부에는 불필요한, 내부적으로만 사용되는, 부분을 감추기 위해 접근 제어자가 사용될 수 있는 곳 클래스 멤버변수 메서드 생성자 접근 제한자의 사용 범위 public : 접근 제한이 전혀 없다. protected : 같은 패키지 ..