목록분류 전체보기 (796)
코드 그라데이션
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..
# DTO는 Data Transfer Objection이다. # Entity는 핵심이고, Dto는 조수같은 느낌이다. # Dto는 계층간의 Data를 전달할 수 있는 Data 바구니 같은 것. Entity는 (이 서비스의) 핵심 요소. # 그래서 일단, 역할의 중요도 자체가 아예 다르다. # 모든 서비스는 Entity 중심으로 돌아가고, Dto는 단지 계층 간의 Data를 주고받을 수 있게 해주는 보조 장치 # Dto는 계층을 이어주는 친구다. # 한 서비스는 Controller - Service - Repository 로 이어지긴 하지만, 각 계층은 원래 독립된 존재. 서로 의존하면 안 된다. # 이 말은 어떤 서비스가 운영될 때, 이전 서비스에서 뱉은 것을 기반으로 다음 걸 만들면 안된다는 뜻. # ..
redirect: - URL로 리다이렉트 (리다이렉트는 완전히 새로운 URL로 요청이 된다.) forward: - URL로 포워드 (포워드는 기존 요청 값들이 유지된 상태로 URL이 전환된다.) 모듈 : 소프트웨어 설계에서 기능단위로 분해하고 추상화 되어 재사용 및 공유 가능한 수준으로 만들어진 단위 모듈화 : 소프트웨어의 성능을 향상시키거나 시스템의 디버깅, 시험, 통합 및 수정을 용이하도록 하는 소프트웨어 설계 기법 1. 일반적으로 모듈 이란? 보다 작고 이해할 수 있는 단위로 나뉘어진 것 본체에서 분리되어 작은 부분으로 유기적으로 구성되어 있다가, 필요할 때 본체에 합류하여 그 기능을 수행할 수 있는 것 통상, 그 자체로 하나의 완전한 기능을 수행할 수 있는 독립된 실체로 봄 2. 문제를 다룰 때 ..