분류 전체보기
[Java] 새로운 날짜/시간 API Time소개, Date의 단점
[Java] 새로운 날짜/시간 API Time소개, Date의 단점
2021.02.10Goal Time API가 생긴 배경(이유) 주요 API 설명 자바 8에서 새로운 날짜와 시간 API가 생긴 이유 그전까지 사용하던 java.util.Date클래스는 mutable하기 때문에 thread safe하지 않습니다. 클래스 이름이 명확하지 않다. Date인데 시간까지 다룹니다. 버그 발생할 여지가 많다 (타입 안전성이 없고, 월이 0부터 시작한거나) 예제를 위한 코드 public static void main(String[] args) throws InterruptedException { Date date = new Date(); // 이름은 데이트인데 시간까지 다룬다 long time = date.getTime(); System.out.println(time); // 기계 시간 출력됨 // ..
[Spring, OOP] 생성자 주입이 좋은 이유와 스프링을 이용한 다양한 DI
[Spring, OOP] 생성자 주입이 좋은 이유와 스프링을 이용한 다양한 DI
2021.02.10GOAL 다양한 의존성 주입 방법을 알 수 있습니다. 각 의존성 주입의 장단점을 비교할 수 있습니다. 생성자 주입이 권장되는 이유를 알 수 있습니다. 실험을 위한 클래스 의존관계 우선 의존관계 주입은 크게 3가지 방법으로 나눌 수 있습니다. 수정자 주입(setter 주입) 필드 주입 생성자 주입 메소드 주입 방법은 수정자 주입과 비슷하니까 설명은 따로 생략했습니다. 수정자 주입(Setter) @Service public class OrderService { private DiscountPolicy discountPolicy; @Autowired public void setDiscountPolicy(DiscountPolicy discountPolicy) { this.discountPolicy = disco..
[Java] 함수형 인터페이스, 람다식
[Java] 함수형 인터페이스, 람다식
2021.02.09GOAL 함수형 인터페이스에 대해서 이해할 수 있습니다. 함수형 인터페이스와 람다식을 사용할 수 있습니다. 자바에서 제공해주는 함수형 인터페이스 종류들을 알 수 있습니다. 함수형 인터페이스 자바 8부터 함수를 일급객체 처럼 다룰 수 있는 함수형 인터페이스를 제공합니다. 함수형 인터페이스의 기본 조건은 SAM(Single Abstract Method)이어야 합니다. public interface RunSomething { void doSomething(); // 인터페이스 메소드는 public abstract이며 생략 가능 } default 메소드나 static메소드가 있어도 추상 메소드가 한 개일 경우 함수형 인터페이스입니다. @FunctionalInterface // 어노테이션을 붙이면 함수형 인터페이..