
Annotation의 종류 Built-in Annotation : 자바에서 기본적으로 제공하는 어노테이션 (ex. @**Override)** Meta Annotation : 커스텀 어노테이션을 만들수 있게 제공된 어노테이션. (ex. **@Target)** Custom Annotation : 사용자가 직접 정의한 어노테이션 (java 외 spring, junit 등.. 모두 포함) (ex. **@Test)** Annotation 만들기 Meta Annotation 을 사용해서 만든다. @Target 말 그대로 어노테이션의 타겟을 지정하는 것입니다. FIELD : 해당 어노테이션을 Feild에 붙일때 METHOD, TYPE : Class나 Enum 등의 어떤 대상을 위한 어노테이션인지 타입에 붙일 때 그외..

MathTest package Prac09; public class MathTest { public int add(int a, int b) { System.out.println("int add(int a, int b) -"); return a+b; } public int add(int a, int b, int c) { System.out.println("int add(int a, int b, int c) -"); return a+b+c; } public long add (long a, int b){ System.out.println("int add(long a, int b) -"); return a+b; } public long add (long a, long b) { System.out.println(..

Book package Prac08; public class Book { public String title; public String author; public String publisher; public int price; public Book() { } public Book(String title, String author, String publisher, int price) { this.title = title; this.author = author; this.publisher = publisher; this.price = price; } public void setTitle(String title) { this.title = title; } public void setAuthor(String a..

오버로딩이란? 메서드도 변수와 마찬가지로 같은 클래스 내에서 서로 구별될 수 있어야 하기 때문에 각기 다른 이름을 가져야 한다. 자바에서는 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있다. 한 클래스 내에 같은 이름의 메서드를 여러개 정의하는 것을 ‘오버로딩’ 이라고 한다. 오버로딩의 조건 메서드 이름이 같아야 한다. 매개변수의 개수 또는 타입이 달라야 한다. 참고) 오버로딩된 메서드들은 매개변수에 의해서만 구별될 수 있으므로 반환 타입은 오버로딩을 구현하는데 아무런 영향을 주지 못한다. 오버라이딩(overriding) 부모(조상)클래스로부터 상속받은 메서드의 내용을 변경하는 것을 오버라이딩이라..

오버로딩, 오버라이딩, 다형성 public class MathTest { public int add (int a, int b) { System.out.println("int add(int a, int b) - " ); return a+b; } public int add (int a, int b, int c) { System.out.println("int add(int a, int b, int c) - " ); return a+b+c; } public long add (long a, int b) { System.out.println("int add(long a, int b) - " ); return a+b; } public long add (long a, long b) { System.out.println..
빈(Bean) - 애플리케이션에서 빈(Bean)이라는 이름으로 객체를 미리 생성해놓고 돌려쓰는것을 얘기한다. (한번만 생성하고 쓰레드들이 다같이 쓴다. = 싱글톤) 즉, 스프링앱에 여러 번 빈을 요청하더라도 매번 동일한 객체를 돌려준다는 것이다. (스프링이 빈을 관리한다.) 이유 : 애플리케이션 컨텍스트(컨테이너) 가 싱글톤으로 빈을 관리하는 이유는 대규모 트래픽을 처리할 수 있도록 하기 위함. (메모리는 한정적이기 때문) 컴포넌트(Component) : 개발자가 직접 작성한 Class를 Bean으로 등록한 것 (Bean 과 동일하게 한번만 생성하고 쓰레드들이 다같이 쓰게 하려고) **@Component** 는 개발자가 지금 개발중인 직접 컨트롤이 가능한 클래스들의 경우 Bean으로 등록하기 위해 사용된..
유의사항 Entity를 그대로 반환하지 말고, DTO에 담아서 반환해주세요! 프론트엔드와 백엔드가 느슨하게 결합하는 환경이 ”최근에는” 더 일반적이라고 말씀드렸죠? 앞으로 남은 강의 예제와 실습에서는 html/css/js 즉 뷰도 같이 반환 하겠지만, 과제에는 여러분들이 서버 로직에 더 집중하실 수 있도록 JSON을 반환하는 API형태로 진행하려고 합니다. 눈으로 직접 확인 할 수 있었던 view와는 다르게, 여러분들이 과제를 진행하시려면 서버가 반환하는 결과값을 더 쉽게 확인 하실 수 있는 도구가 필요합니다. 바로 PostMan 입니다. 사용법은 아래 페이지에서 꼭 확인해주세요! 수행해야 하는 내용 아래의 요구사항을 기반으로 Use Case 그려보기 손으로 그려도 됩니다. cf. https://naru..