일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 스프링 시큐리티
- 객체지향
- 스프링
- 알고리즘
- CS
- MST
- java
- 자바
- 프록시
- Spring
- test
- 파이썬
- 약수
- 문자열
- redis
- 백준
- BOJ
- 리플렉션
- proxy
- OS
- 모던자바
- 모던 자바 인 액션
- 최소 신장 트리
- 다이나믹 프록시
- Reflection
- Python
- Junit5
- Deadlock
- spring security
- 운영체제
- Today
- Total
목록자바 (14)
Dev 달팽이 @_''

3.1 람다란 무엇인가? 람다 표현식은 메서드로 전달할 수 있는 익명 함수를 단순화한 것이라고 할 수 있다. 람다 표현식에는 이름은 없지만 파라미터 리스트, 바디, 반환 형식, 발생할 수 있는 예외 리스트는 가질 수 있다. 람다의 특징 익명 - 보통의 메서드와 달리 이름이 없으므로 익명이라고 표현한다. 구현해야 할 코드에 대한 걱정거리가 줄어든다. 함수 - 람다는 메서드처럼 특정 클래스에 종속되지 않으므로 함수라고 부른다. 하지만 메서드처럼 파라미터 리스트, 바디, 반환 형식, 가능한 예외 리스트를 포함한다. 전달 - 람다 표현식을 메서드 인수로 전달하거나 변수로 저장할 수 있다. 간결성 - 익명 클래스처럼 많은 자질구레한 코드를 구현할 필요가 없다. 기존의 Comparator 객체의 구현 Compara..

동작 파라미터화(behavior parameterization)란 아직은 어떻게 실행할 것인지 결정하지 않은 코드 블록을 의미한다. 이 코드 블록의 실행은 나중으로 미뤄진다. 2.1 변화하는 요구사항에 대응하기 예제 코드를 점차 개선하면서 유연한 코드를 만들어보자. 2.1.1 첫 번째 시도 : 녹색 사과 필터링 public static List filterGreenApples(List inventory) { List result = new ArrayList(); for (Apple apple : inventory) { if (GREEN.equals(apple.getColor()) { result.add(apple); } } return result; } 녹색 사과를 필터링하는 메서드를 만들었다. 그러나 ..

1.1 역사의 흐름은 무엇인가 자바 역사를 통틀어 가장 큰 변화가 자바 8에서 일어났다. 자바 8은 간결한 코드, 멀티코어 프로세서의 쉬운 활용이라는 두 가지 요구사항을 기반으로 한다. 자바 1.0에서는 스레드와 락, 메모리 모델 지원, 자바 5에서는 스레드 풀, 병렬 실행 컬렉션, 자바 7에서는 포크/조인 프레임워크를 제공하여 병렬 실행 환경을 관리하려는 노력이 있었으나 개발자가 활용하기에는 쉽지 않았다. 자바 8에서는 병렬 실행을 새롭고 단순한 방식으로 접근할 수 있는 방법을 제공한다. 1.2.2 스트림 처리 자바 8에서 추가된 첫 번째 프로그래밍 개념은 스트림 처리이다. 스트림이란 한 번에 한 개씩 만들어지는 연속적인 데이터 항목들의 모임이다. 이론적으로 프로그램은 입력 스트림에서 데이터를 한개씩 ..

Java - Mockito Mock 진짜 객체와 비슷하게 동작하지만 프로그래머가 직접 그 객체의 행동을 관리하는 객체 Mockito 단위 테스트를 위한 Java mocking framework Mockito Maven org.mockito mockito-core 3.1.0 test org.mockito mockito-junit-jupiter 3.1.0 test 스프링 부트 2.2+ 프로젝트에서는 자동으로 Mockito를 추가해준다. Mock을 활용한 테스트를 쉽게 하는 방법 Mock을 만드는방법 Mock이 어떻게 동작해야 하는지 관리하는 방법 Mock의 행동을 검증하는 방법 자세한 내용은 Mockito 레퍼런스 참고 https://javadoc.io/doc/org.mockito/mockito-core/l..