본문 바로가기

전체 글70

자바 빌더패턴 @Builder , 메서드 체인(Method chaining) 알아보기 빌더패턴이란...? 복잡한 객체의 생성과 그 표현을 분리하는 것이다. 그렇게 함으로써, 같은 생성자로 다른 표현을 만들 수 있다. 빌더패턴이 필요한 이유를 찾아보자. 먼저, 메서드 체인(method chaining)이라는 개념부터 알아야한다. 메서드가 객체를 반환하게 되면, 메서드의 반환 값인 객체를 통해 또 다른 함수를 호출하는 것을 말한다. 생성자에 return 특정 변수가 아닌, return this를 사용하여 클라스 인스턴스 변수를 모두 가져오는 방법이 있다. final class Student{ private int id; private String name; //setter public Student setId(int id) { this.id = id; return this; } public .. 2022. 1. 15.
this 키워드 모두 정리!! (변수,생성자,파라메터,클래스) 1.현재 객체의 인스턴스 변수를 가르킨다. class Test{ int a; int b; //파라메터값 넣은 생성자 Test(int a, int b) { this.a = a; this.b = b; } void display() {//a랑 b의 값을 보여준다. System.out.println("a = "+a+" b=" + b); } public static void main(String[] args) { Test object = new Test(10,20); object.display(); } } output a = 10 b = 20 2.this()는 현재 담겨있는 파라메터 값을 토대로 생성자를 부른다. class Test{ int a; int b; //디폴트 생성자 Test() { this(10,20).. 2022. 1. 15.
스프링 게시판 만들기 - 4(글 업로드) 1.controller 파일이랑 게시판 업로드 화면을 받는 controller를 만들어보자 @Controller @AllArgsConstructor public class BoardController{ private final BoardService boardService; //단순 화면 보여주기 @GetMapping("/board/list") public ModelAndView getList(){ ModelAndView view = new ModelAndView(); view.setViewName("views/board/board_list"); return view; } //게시판 등록페이지 @GetMapping("/board/register") public ModelAndView registerVie.. 2022. 1. 15.
스프링 게시판 만들기 - 3(VO 형태 바꾸기) 보통 객체를 작성할 때 아래와 같은 형태로 객체를 만들었었다. @Data public class Board { private int boardNo; private String title; private String content; private String writer; private Date regDate; } 하지만 최근에는 요청(request)하는 부분과 응답(response)하는 부분을 각각 다르게 객체를 만들어준다. 1.Respnse 객체 public clas BoardVO{ @Getter @NoArgsConstructor(access = AccessLevel.PRIVATE) @AllArgsConstructor @Builder public static class Response{ private .. 2022. 1. 15.