Backend

    객체 지향 프로그래밍

    클래스 멤버 변수 vs 인스턴스(객체) 멤버 변수 public class Person { //클래스 멤버 변수 static String org = "jiwon"; //인스턴스 멤버 변수 String name; int age; boolean isHungry; void eat() { System.out.println("냠냠"); isHungry = false; } void work() { System.out.println("열심히.."); isHungry = true; } } public class PersonTest { public static void main(String[] args) { //지금 11줄에서 객체를 만드는 과정이 있기 전에 클래스 멤버 변수를 수정한 것임 // Person.org = "..

    [JUnit] JUnit에 대해

    단위 테스트(Unit Test) 단위 테스트(Unit Test)는 하나의 모듈을 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트 여기서 모듈은 애플리케이션에서 작동하는 하나의 기능 또는 메소드 즉,"어떤 기능이 실행되면 어떤 결과가 나온다"를 테스트함 단위 테스트는 해당 부분만 독립적으로 테스트하기 때문에 어떤 코드를 리팩토링하여도 빠르게 문제 여부를 확인가능 실무에서는 단위 테스트를 선호하며, 요즘 많이 사용되는 TDD(Test-Driven Development, 테스트 주도 개발) 에서 얘기하는 테스트도 단위 테스트를 의미한다. 우리는 우리가 작성한 테스트 코드를 수시로 빠르게 돌리면서 문제를 파악할 수 있다. 통합 테스트(Integration Test) 통합 테스트(Integration Tes..

    [SpringBoot] 자주쓰는 @(어노테이션) 익히기

    [SpringBoot] 자주쓰는 @(어노테이션) 익히기

    ResponseEntity는 뭘까? Spring Framework에서 제공하는 클래스 중 HttpEntity라는 클래스가 존재한다. HTTP 요청(Request) 또는 응답(Response)에 해당하는 HttpHeader와 HttpBody를 포함하는 클래스 HttpEntity 클래스를 상속받아 구현한 클래스가 RequestEntity, ResponseEntity 클래스이다. ResponseEntity는 사용자의 HttpRequest에 대한 응답 데이터를 포함하는 클래스이다. 따라서 HttpStatus, HttpHeaders, HttpBody를 포함한다. 단순히 데이터만을 보내기보단 상태와 메세지 데이터까지 모두 보낼 수 있음 @GetMapping(value = "/user/{id}") public Res..

    [Error] @RequestBody로 String or Integer를 받으려고 할 때

    @PostMapping("{id}") public void testMethod(@RequestBody String value, @PathVariable long id) { System.out.println("value = " + value); } @RequestBody 동작 순서 HTTP Clients 가 request body에 데이터를 담아 request 를 보낸다. 컨트롤러 메서드에 @RequestBody가 명시되어 있으면 해당 어노테이션이 스프링에게 request body에 담긴 데이터를 도메인 객체로 역직렬화 처리 하라고 알려준다. 추가적으로 자바 Map 으로도 역직렬화 처리를 해준다 @RequestBody Integer id 로 받을 수 없는 이유는 이때 MappingJackson2HttpMe..