분류 전체보기121 익명 클래스, 인터페이스 익명 구현 객체 함수형 인터페이스에 대해 공부하던 중에,, 분명히 interface는 객체를 생성할 수 없다고 배웠는데 Consumer 인터페이스를 통해서 객체를 생성하고 있는 것에 대해 이해가 되지 않았다. 그래서 검색을 통해 찾아보니 인터페이스 익명 구현 객체라는 것을 통해서 구현을 할 수 있다는 것을 알게 되었다. 익명 클래스 익명 클래스는 내부 클래스(Inner class) 일종으로 단어 그대로 이름이 없는 클래스를 말한다. 익명, 이름이 없다는 것은 별로 기억되지 않아도 된다는 것이며, 나중에 다시 불러질 이유 즉, 재사용할 일이 없다는 뜻으로 프로그램에서 일시적(단발적)으로 한 번만 사용되고 버려지는 객체라고 볼 수 있다. 왜 생겼을까? 일회성의 구현 객체를 만들기 위해 소스파일을 만들고 클래스를 선언하는 것.. 2023. 4. 14. TDD, 클린 코드 - 자동차 경주 자동차 경주 피드백 Car public class Car { private int distance; public Car() { this.distance = 0; } public int distance() { return distance; } // 람다식으로 표현할 수 있도록 GameStrategy를 Funtional Inteface로 만들었는데 이 부분에 대해 따봉 받았다! // Predicate Interface와 고민했는데 movable 메서드로 좀 더 의도적으로 표현하기 위해 GameStrategy Interface를 만들었다. public void forward(GameStrategy racingStrategy) { if (racingStrategy.movable()) { distance++; }.. 2023. 4. 13. TDD, 클린 코드 - 문자열 덧셈 계산기 2단계 - 문자열 덧셈 계산기 StringAddCalculator class StringAddCalculator { private static final int ZERO = 0; private static final String RUNTIME_EXCEPTION_MESSAGE = "문자열 계산기에 숫자 이외의 값 또는 음수를 전달하는 경우 RuntimeException 예외를 throw한다."; private static final String ZERO_TO_NONE_REGEX = "^[0-9]*$"; private static final String DEFAULT_DELIMITER = "[,:]"; private static final Pattern CUSTOM_DELIMITER = Pattern.com.. 2023. 4. 8. TDD, 클린 코드 학습 테스트 TDD, 클린 코드 with Java 16기 시작 백엔드 개발자가 되자 목표를 하고 2주 동안 열심히 Java를 공부하고 박재성님의 TDD, 클린 코드 강의가 시작되었다! 물론 내가 들을 수준은 아니지만 하나라도 배우자는 마인드를 가지고 열심히 달려보자! 1단계 학습 테스트 자동차 경주를 시작하기에 앞서 선수 과제가 있었고, 이에 대한 피드백을 정리! String 클래스에 대한 학습 테스트 package study; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.pro.. 2023. 4. 5. 이전 1 ··· 11 12 13 14 다음