java

· JAVA
스트림(Stream)이란 스트림은 자바8부터 추가된 기능으로 컬렉션이나 배열의 값을 하나씩 참조, 처리할 수 있게 해주는 반복자이다. 람다식을 사용해 간결하고 가독성 좋은 반복를 할 수 있고 둘 이상의 작업을 동시에 진행하는 병렬 처리가 가능하다는 장점도 있다. 예시를 살펴 보자. 1부터 10까지의 int 리스트에서 짝수만 골라서 가져와야 한다고 해보자. 일반 반복문 public static List notStream(List numbers) { List evenNumbers = new ArrayList(); for (Integer number : numbers) { if (number % 2 == 0) { evenNumbers.add(number); } } return evenNumbers; } 짝수를..
· 방법론
OCP 개방-폐쇄 원칙 (Open/closed principle) • 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다 • 이런 거짓말 같은 말이? 확장을 하려면, 당연히 기존 코드를 변경? • 다형성을 활용해보자 • 인터페이스를 구현한 새로운 클래스를 하나 만들어서 새로운 기능을 구현 • 역할과 구현의 분리 우테코 1주 차 미션인 자동차 경주 미션을 생각해보자. public class Car { private int position; public void move(int movingValue) { if (movingValue >= STANDARD_OF_MOVING) { position++; } } 자동차가 움직이기 매개변수로 받은 정수가 기준 이상이어야 한다. 현재 이 movingVal..
· 방법론
MVC는 사용자 인터페이스와 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소와 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 스타일의 아키텍처다. 이렇게 하면 사용자 인터페이스를 담당하는 계층의 응집력을 높일 수 있고 여러 개의 다른 UI를 만들어 그 사이에 결합을 낮출 수 있다. 모델-뷰-컨트롤러의 관계 컨트롤러 - 모델에 명령을 보내 모델의 상태를 변경할 수 있다. 뷰와 모델 사이에서 애플리케이션 흐름을 통제 모델 - 데이터의 상태에 변화가 있을 때 컨트롤러와 뷰에 이를 통보한다. 이를 통해 뷰는 최신 결과를 보여줄 수 있고, 컨트롤러는 모델의 변화에 따른 적용 가능한 명령을 내릴 수 있다.. 뷰 - 사용자가 볼 결과물을 생성하기 위해 모델로부터 정보를 얻어 온다. 장점 느슨한 결합, 확장성..
Junit은 자바에서 사용하는 유닛 테스트 프레임워크이다. 요즘 자바로 TDD(테스트 주도 개발)를 연습하고 있는데 공부할 겸 Junit5 어노테이션을 정리하고자 한다. Junit은 어노테이션으로 다양한 기능을 제공한다. @Test 테스트 메서드임을 나타낸다. @Test void 테스트() { //... } @ParameterizedTest 매개변수를 받아서 여러 입력에 대한 결과를 한 번에 테스트할 수 있다. @ParameterizedTest @ValueSource(strings = {"dog", "cat"}) void 매개변수_테스트(String input) { // ... } 여러 입력에 다른 결과를 테스트하고 싶을 때 사용하는 방법이다. @ParameterizedTest @CsvSource(val..
· 방법론
우테코 1주차 금요일, 문자열 덧셈 계산기 미션에 대한 피드백을 받으며 TDD에 대해 강의를 들을 수 있었다. TDD란 테스트 주도 개발의 약자로 이름에서도 알 수 있듯이 테스트를 중심으로 개발하는 방법이다. 기본적인 흐름으로는 위 그림처럼 실패하는 테스트를 먼저 짠 뒤에 구현을 해서 테스트를 통과시킨 다음 리펙토링을 한다. 이번 포스팅의 내용은 강의를 바탕으로 Junit, java를 사용하여 TDD를 하는 방법에 대해 정리한 것이다. 테스트 코드부터 짠다. 구현을 위한 프로덕션 코드를 구현하기 전에 실패하는 테스트 코드부터 작성한다. 아직 만들어지지 않은 클래스나 함수가 있어 컴파일 에러가 날 것이다. 테스트 코드 하나 만들고 프로덕션 코드를 작성하러 간다 여러 테스트 코드를 한 번에 만들고 프로덕션 ..
더즈
'java' 태그의 글 목록 (4 Page)