JPA란? Java Persistence API의 줄임말이다. *persist: 계속하다, 끝까지 집착하다. 그리고 자바 진영의 ORM 기술 표준이다. ORM 이란? Obeject - relational - mapping(객체 관계 매핑)이다. 뜻은 "객체"랑 "관계형 데이터베이스"랑 매핑을 해준다는 뜻이다. 이걸 쓰게 되면 장점은, 객체를 객체대로 설계 관계형 데이터베이스(RDBMS)는 관계형 데이터베이스대로 설계할 수 있다는 장점이 있다. R == relatinal이다. 이런 장점은, SQL중심적인 프로그래밍에서 객체설계프로그래밍으로 패러다임을 변환할 수 있다. 따라서 ORM 프레임워크의 역할은 중간에서 "객체와 관계형 데이터베이스의 다른 부분을 매핑을 해주는 역할"을 한다. JPA 동작 JPA는 애..
https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다.www.acmicpc.net문제지민이는 자신의 저택에서 MN개의 단위 정사각형으로 나누어져 있는 M×N 크기의 보드를 찾았다. 어떤 정사각형은 검은색으로 칠해져 있고, 나머지는 흰색으로 칠해져 있다. 지민이는 이 보드를 잘라서 8×8 크기의 체스판으로 만들려고 한다.체스판은 검은색과 흰색이 번갈아서 칠해져 있어야 한다. 구체적으로, 각 칸이 검은색과 흰색 중 하나로 색칠되어 있고, 변을 공유하는 두 개의 사각형은 다른 색..
비교항목오버라이딩오버로딩메소드 시그니처(메서드이름, 매개변수[개수, 타입, 순서])같아야 한다.달라야 한다.리턴타입같다같다용도riding(올라탄다)을 이용해서 부모 클래스에 추가로 더하다, 또는 올라타서 동작방법을 추가할 때 사용한다.loading은 매개변수의갯수나 타입을 다르게 하고 싶을 때 사용한다. 질문사항 정리1. 오버라이딩: 만약 return 타입이 다르다면? 컴파일 오류가 발생합니다.그러나 자바 5 이전 버전에서는 오버라이딩된 메서드의 반환 타입을하위 클래스의 타입으로 변환하는 것이 허용되었습니다.하지만 자바 5 이후 버전부터는 반환 타입 또한 엄격하게 일치해야 하므로 변경되었습니다. 2. 오버로딩: 만약 return 타입이 다르다면? 만약 return 타입이 메서드 시그니처에 포함된다면 j..
오버라이딩은 한국어로는 "재정의"라는 뜻이다.상속은 자식클래스가 부모클래스의 것을 그대로 가지고 온다.이때, 부모의 것을 가져오는데 추가적으로 더 필요한 일들을 정의할 수 있는데 이를 오버라이딩(overrding)이라고 한다. 오버라이딩은 "재정의"라는 말처럼 부모클래스의 것을 쓰지 않고 자식이 부모의 것을 재정의하여 사용하는 것입니다.클래스에서의 오버라이딩클래스를 상속받을 상태에서 오버라이딩하면, 자식클래스의 메서드를 호출할 때, 자식클래스의 메서드가 호출됩니다.오버라이딩의 조건오버라이딩 하려면 return 타입이 같아야 한다.너무나 당연하게 메서드 이름도 같아야 한다.매개변수 또한 개수와 타입이 맞아야 한다(매개변수의 이름은 달라도 된다.)=> 즉, 메서드 시그니처가 같아야 한다. (메서드이름, 매개..
생성자 예제 1 class Calculator { int left, right; public Calculator(int left, int right){ this.left = left; this.right = right; } public void sum(){ System.out.println(this.left+this.right); } public void avg(){ System.out.println((this.left+this.right)/2); } } 를 보면 클래스 이름과 같은 메서드를 이용하여 초기화할 수 있다. public Calculator(int left, int right){ this.left = left; this.left = right; } 이 class 이름과 같은 메서드를 생성자(c..
우선순위 큐 우선순위를 가진 항목들을 저장하는 큐 우리가 정한 우선순위대로 정해진 큐 원래라면 1차선 도로처럼 FIFO 순서대로 나아가는 것을 큐(Queue)다. 2차선처럼 우선순위가 높은 데이터가 먼저 나가는 것이 우선순위 큐다. 숫자의 크기를 가지고 일단 우선순위 큐를 만들어보자. 우선순위 큐(heap)은 2가지로 구분 최소 우선순위 큐 (min heap) 최대 우선순위 큐(max heap) 우선순위 큐 구현방법 3가지가 존재한다 1. 배열을 이용한 우선 순위 큐 정렬이 안된 배열 정렬이 된 배열 삽입 - O(1) 가장 뒤에 삽입 삭제 - O(n) 처음부터 끝까지 모든 요소를 check하여 삭제 삽입 - O(n) 모든 요소와 삽입할 요소의 우선순위를 비교하여 삽입위치 결정(이진탐색) 삭제 - O(1)..