분류 전체보기97 implements vs. extends 자바에서 extends와 implements 는 클래스와 인터페이스 간의 상속을 구현할 때 사용한다. 1.implements (=심다!) 클래스 간의 관계를 나타낸다. 하나의 클래스와 관계지을 수 있다. 클래스가 인터페이스를 구현하면 해당 클래스는 인터페이스의 모든 메서드를 반드시 구현해야 한다. 상속하는 인터페이스는 메서드의 메서드명, 매개변수 등의 시그니처를 정의한다.클래스는 이러한 메서드를 구현해야 한다. 2.extends (=넓히다!) 클래스 간의 상속을 정의한다. 한 클래스가 다른 클래스를 상속받을 때 사용한다. 여러 클래스가 하나의 클래스를 상속받을 수 있으며 오버라이드 형식으로 메소드를 새롭게 구현할 수 있다. 2023. 10. 12. @NonNull vs. @NotNull vs. @Column(nullabe = false) 프로젝트를 마무리하며 리팩토링을 시작했다. 객체 생성시 @NonNull을 사용했는데(첫 프로젝트에서는 이런 방식으로 했다. 왜냐면 단순히 null값을 받으면 안된다고 생각했기 때문) 프로젝트 진행하면서 validation의 @NotNull로 수정했다.(프로젝트에서 validation을 사용하기 때문) 하지만 마지막 리팩토링 기간에는 @Column(nullabe = false)으로 수정하면서 이 세 녀석에 대한 궁금증이 생겼다. 1. @NonNull @NonNull은 주로 lombok 라이브러리에서 호출해서 많이 사용한다. 주로 NullPointException을 방지하기 위해 사용한다. 메서드의 매개변수나 객체의 필드가 null이 아니어야 호출한다. 즉, 해당 생성자를 호출할 때 null값을 전달하지 않.. 2023. 10. 12. HttpMediaTypeNotAcceptableException: No acceptable representation [406에러] 액세스 토큰 발급 테스트 코드 작성 중에 처음으로 406이란 에러를 발견했다. HttpMediaTypeNotAcceptableException 예외는 클라이언트가 요청한 미디어 타입이 서버에서 제공할 수 없을 때 발생한다. //when ResultActions resultActions = mockMvc.perform(post(url) .contentType(MediaType.APPLICATION_JSON_VALUE) .content(requestBody)); //then resultActions .andExpect(status().isCreated()) //에러 난 부분 .andExpect(jsonPath("$.accessToken").isNotEmpty()); 미디어 타입은 잘 설정했는데 컨트롤러에서 .. 2023. 10. 10. [Thymeleaf] URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs) ultimate 쓰다가 오랜만에 community 쓰게 됐다. 갑자기 html에서 오류 발생 사실 오류까진 아니고 URI가 등록이 되지 않았다는 알람 발생. 개발을 하면 thymeleaf를 사용할 수는 있긴 하다. 하지만 IDE에서 자동완성을 지원하지 않기 때문에 우리는 작업을 해줘야 한다.. 인텔리제이 community에서만 발생하는 알람! 그러면 요거 한 번 해주고( 당연히 안 될 테지만 ) 요고 해주면 된다. 2023. 10. 6. 이전 1 ··· 9 10 11 12 13 14 15 ··· 25 다음