반응형

의존, 의존성이란?
-> A는 B를 사용하기만 해도 A는 B에 의존한다 할 수 있다.
- ex) new() 쓰는거


의존성 주입 : DI(Dependency Injection)
- 의존성을 약화시키는 테크닉
- 필요한 값을 new해서 인스턴스화 하는게 아니라 외부에서 넣어주는거
- new() 는 사실상 하드코딩이다. 

 

의존성 역전(Dependency Inversion)
- DIP라고 부른다.
- 화살표의 방향을 바꾸는 테크닉이라고 보면 된다.
- 의존성 역전은 상위 모듈과 하위 모듈 모두 추상화에 의존해야 한다.
- 세부사항에 의존해서는 안되고 세부 사항이 추상화에 의존해야 한다.  

인터페이스와 구현을 분리  / 화살표 방향이 바뀜 -> 의존성을역전

 

 

 

반응형

1. 오버라이딩의 조건

자손클래스에서 오버라이딩하는 메서드는 조상 클래스의 메서드와
- 이름이 같아야 한다. 
- 매개변수가 같아야 한다.
- 반환타입이 같아야 한다.
 조상 클래스의 메서드를 자손 클래스에서 오버라이딩 할때
1. 접근 제어자를 조상 클래스의 메서드 보다 좁은 범위로 변경할 수 없다.
2. 예외는 조상 클래스의 메서드보다 많이 선언할 수 없다. 혹은 상우의 예외(Exception)으로 선언할 수 없다. 
3. 인스턴스메서드를 static메서드로 또는 그 반대로 변경할 수 없다.

2. 오버로딩 vs 오버라이딩

오버로딩: 기존에 없는 새로운 메서드를 정의하는 것
오버라이딩: 상속받은 메서드의 내용을 변경하는 것

 

 

출처: 자바의 정석

반응형

무슨 이유인지는 모르겠지만 포트가 이미 실행 중일 때 스프링을 Run 하면 발생한 에러라고 한다..

해결방법
(윈도우)
cmd에서 netstat -ano를 실행 하면 현재 실행중인 포트 목록이 나온다.
여기서 8020포트에 해당하는 PID를 찾아서
taskkill/pid 0000 / f 
을 입력한다.

반응형
import java.util.Scanner;

public class Main{

    public static boolean is_Prime(int n) {

        if(n == 1) {
            return false;
        }

        for(int i =2; i< n; i++) {
            if (n % i == 0) {
                return false;
            }
        }
        return true;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int cnt = 0;
        for(int i = 0; i<n; i++){
            int input = sc.nextInt();
            if(is_Prime(input) == true)
                cnt ++;
        }

        System.out.println(cnt);

    }
}
반응형

1. JPA는 Java Persistance Api다.
영속성은 데이터가 영구히 기록될 수 있도록 하는 것이다. 
JPA는 즉 자바에 있는 데이터를 영구히 기록할 수 있느 환경을 제공하는 API다. 

2. JPA는 ORM 기술이다.
ORM(Object Relational Mapping): Object를 DB에 연결하는 방법론,
자바 클래스를 만들어서 실행하면 DB에 테이블을 자동적으로 생성시킬 수 있다.

3. JPA는 반복적인 CRUD 작업을 생략하게 해준다.
기존 : 자바 프로그램이 DB에 커넥션을 요청 -> DB는 세션을 오픈 -> 오픈된 세션으로 자바 프로그램은 connection을 가짐 -> 다음 요청시에는 쿼리를 전송할 수 있음 -> DB는 쿼리를 기반으로 데이터를 만들고 자바에 응답 -> 응답한 데이터 타입과 자바의 데이터 타입이 다르므로 자바는 해당 데이터를 자바 object로 변경

하지만 JPA 사용하면 전송된 쿼리에 대한 응답이 있을때 응답을 자바 오브젝트로 바꾸고 연결된 세션, 커넥션을 끊는 일련의 작업을 단순한 함수로 제공해준다. 

+ Recent posts