본문 바로가기

Java9

변수를 합쳐서 변수명 사용을 아낄 수 있다 변수명을 생각해 내는 것은 매번 까다롭다. 비슷한 용도와 의미의 변수명이면 더욱 그렇다 하지만 두 변수가 하나로 합쳐 질 수 있다면 굳이 변수를 두 개로 안하고 하나로 사용하여 변수명 짓는데 쓸 피곤함을 줄일 수 있다 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=utf-8"); PrintWriter out = response.getWriter(); LocalDateTime now = LocalDateTime.now(); DateTimeFormatter dateTi.. 2022. 8. 3.
경로 지정 시 같은 도메인에 속하면 도메인은 생략하자 아래에 이전 프로젝트로 한 서블릿의 일부분을 가져왔다 맨 아래 줄을 집중해서 보자 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html; charset=utf-8"); PrintWriter out = response.getWriter(); LocalDateTime now = LocalDateTime.now(); DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("현재시간 : yyyy/M/d H:m"); String now.. 2022. 8. 3.
오버라이드 시 @Override 를 꼭 쓰자 보통 상위 클래스를 상속해서 상위 클래스의 메소드를 오버라이드 할 때 굳이 오버라이드 어노테이션 @Override 를 사용하지 않아도 오버라이드한 메소드라는 걸 알아서 안쓰곤 했지만 " doGet 메소드는 HttpServlet의 doGet 메소드를 오버라이드하여 재정의한 메소드 입니다. 따라서 오버라이드한 메소드들을 @Override 어노테이션을 붙여주는 것이 좋습니다. 이유는 해당 메소드가 오버라이드 된 메소드라는 것을 명시적으로 알 수 있으며, 컴파일 시 상속한 부모 클래스에 해당 메소드가 있는지 여부등을 통해 예외를 발생할 수 있어 오류를 인지할 수 있기 때문입니다. 자세한 내용을 아래 링크 참고 부탁드립니다. " - moons 님의 코드리뷰 중 - 즉, 오버라이드 한 메소드라는 것을 명시적으로 해.. 2022. 8. 3.
디폴트 생성자의 super() 의미 이클립스 등의 IDE에서 서블릿을 생성시 아래 처럼 디폴트 생성자를 만들어주며, 그 안에는 super()가 있다 @WebServlet("/today") public class TodayServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public TodayServlet() { super(); } 자바에서는 명시적으로 생성자를 작성하지 않을 시, 자동으로 디폴트 생성자를 만들어준다 라고 알고 있다. 그러나 써도 코드의 수행에는 아무 문제가 없기에 냅두고 있었다 하지만! 부스트코스 코드 리뷰에서 리뷰어 moons님의 답변을 보면 "불필요한 또는 잘.. 2022. 8. 1.