Java 8버전 부터 default 라는 키워드로 실제 내용을 가지는 코드를 생성하면
기존에 추상 클래스를 통해서 전달해야 하는 실제 코드를 인터페이스에 선언 가능함
이를 통해서 인터페이스 -> 추상 클래스 -> 구현클래스의 형태로 구현되던걸
추상 클래스를 생략하는것이 가능해짐
package com.github.studym.studymarathon.domain.board.service;
import com.github.studym.studymarathon.domain.board.dto.BoardDTO;
import com.github.studym.studymarathon.domain.board.entity.Board;
public interface BoardService {
Long register(BoardDTO dto);
default Board dtoToEntity(BoardDTO dto) {
Board entity = Board.builder()
.bno(dto.getBno())
.title(dto.getTitle())
.content(dto.getContent())
.author(dto.getAuthor())
.build();
return entity;
}
}
해당 코드와 같이 default 키워드로 인터페이스에 구현함