java

1. 상속(inheritance) 1.1 상속의 정의와 장점 상속이란? 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것 자손은 조상의 모든 멤버를 상속받는다.(생성자, 초기화블럭 제외) 자손의 멤버개수는 조상보다 적을 수 없다. class Child extends Parent{ //... } 조상 클래스 : 부모클래스, 상위클래스, 기반클래스 자손 클래스 : 자식클래스, 하위클래스, 파생된 클래스 1.2 클래스간의 관계 - 포함관계 class Point { // 원점 int x; int y; } class Circle { int x; // 원점의 x좌표 int y; // 원점의 y좌표 int r; } class Circle { Point c = new Point(); // 포함관계(원점) int ..
· ORM/JPA
이 학습 자료는 김영한님의 인프런 강의를 참고해서 만들었습니다. 1. 객체지향 쿼리 언어 1.1 JPQL JPA에서 SQL을 추상화한 객체 지향 쿼리 언어 SQL과 문법과 유사 테이블이 아닌 엔티티 객체를 대상으로 쿼리 검색 조건이 포함된 SQL을 사용해서 필요한 데이터만 DB에서 가져올 수 있음 1.2 Criteria 자바 코드로 JPQL 작성 가능 JPA 공식 기능 너무 복잡하고 실용성이 없다. 1.3 QueryDSL 오픈소스 자바 코드로 JPQL 작성 가능 → 컴파일 시점에 문법 오류 발견 동적 쿼리 작성 편리 단순하고 쉬움 실무 사용 권장 1.4 네이티브 SQL JPA가 제공하는 SQL을 직접 사용하는 기능 2. JPQL(Java Persistence Query Language) - 기본문법 객체..
1. 객체지향언어 1.1 객체지향언어 기존의 프로그래밍 언어에 몇 가지 새로운 규칙을 추가한 보다 발전된 형태 주요 특징 코드의 재사용성이 높다. 코드의 관리가 용이하다. 신뢰성이 높은 프로그래밍을 가능하게 한다. 2. 클래스와 객체 2.1 클래스와 객체의 정의와 용도 클래스의 정의 : 객체를 정의해 놓은 것을 의미 클래스의 용도 : 객체를 생성하는데 사용 객체의 정의 : 실제로 존재하는 것. 사물 또는 개념 객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름 유형의 객체 : 책상, 의자, 자동차 등과 같은 사물 무형의 객체 : 수학공식, 프로그램 에러와 같은 논리나 개념 2.2 객체와 인스턴스 인스턴스화 : 클래스로부터 객체를 만드는 과정 인스턴스 : 클래스로부터 만들어진 객체 인스턴스와 객체..
· ORM/JPA
이 학습 자료는 김영한님의 인프런 강의를 참고해서 만들었습니다. 1. 프록시 가짜 엔티티로써 실제 클래스를 상속 받아서 만들어 진다. → 겉 모양이 같음(== 대신에 instanceof 사용) em.find() vs em.getReference() em.find() : 데이터베이스를 통해서 실제 엔티티 객체 조회 em.getReference() : 데이터베이스 조회를 미루는 가짜(프록시) 엔티티 객체 조회 1.1 프록시 특징 프록시 객체는 실제 객체의 참조(target)를 보관 호출시 실제 객체의 메소드 호출 처음 사용할 때 한번만 초기화 → target을 통해서 실제 엔티티에 접근이 가능, 실제 엔티티가 되는것X 영속성 컨텍스트에 찾는 엔티티가 이미 존재하면, 실제 엔티티 객체를 반환 단, getRef..
1. 배열(array) 1.1 배열(array)이란? 배열은 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 1.2 배열의 생성 int[] score; // int형 배열 선언(배열을 다루기 위한 참조변수 선언) score = new int[5]; // 배열을 생성(실제 저장공간을 생성) ///////////////////////////////////// int[] score = new int[5];// 위와 같은 문장 1.3 배열의 길이와 인덱스 인덱스의 범위는 0부터 '배열길이-1'까지 배열의 길이는 0도 포함된다. ex) int[] arr = new int[0]; 배열의 길이를 변경하는 법 : 더 큰 배열 생성, 기존 배열의 내용을 새로운 배열에 복사 배열이름.length : 배열..
1. 조건문 - if, switch 1.1 if문 if (조건식) { // 조건식이 참일 때 수행될 문장 } 1.2 if-else문 if (조건식) { // 조건식이 참일 때 수행될 문장 } else { // 조건식이 거짓일 때 수행될 문장 } 1.3 if-else if문 if (조건식1) { // 조건식1의 연살결과가 참일 때 수행될 문장 } else if (조건식2) { // 조건식2의 연산결과가 참일 때 수행될 문장들을 적는다. } else { // else블럭은 생략 가능하다. // 위의 어느 조건식도 만족하지 않을 때 수행될 문장을 적는다. } 1.4 중첩 if문 if (조건식1) { // 조건식1의 연산결과과 true일 때 수행될 문장들을 적는다. if (조건식2) { // 조건식1과 조건식2..
· ORM/JPA
이 학습 자료는 김영한님의 인프런 강의를 참고해서 만들었습니다. 1. 상속관계 매핑 관계형 데이터베이스는 상속 관계X → 슈퍼타입 - 서브타입 관계가 상속과 유사 즉, 상속관계 매핑이란 객체의 상속 구조와 DB의 슈퍼타입 서브타입 관계를 매핑하는 것을 의미한다. 1.1 슈퍼타입 서브타입 관계 모델링 방법 @Inheritance(strategy = InheritanceType.XXX) JOINED : 조인 전략 SINGLE_TABLE : 단일 테이블 전략 TABLE_PER_CLASS : 구현 클래스마다 테이블 전략 @DiscriminatorColumn(name = "DTYPE") : 조상 클래스에 붙이는 어노테이션으로, 사용하면 DTYPE 테이블이 생성되고, 자식 클래스의 이름으로 등록된다. @Discri..
· ORM/JPA
이 학습 자료는 김영한님의 인프런 강의를 참고해서 만들었습니다. 0. 매핑시 고려사항 다중성 다대일 : @ManyToOne 일대다 : @OneToMany 일대일 : @OneToOne 다대다 : @ManyToMany → 실무에서 쓰면 안된다. 단방향, 양방향 테이블 : 외래 키 하나로 양쪽 조인 가능, 사실 방향이라는 개념X 객체 : 참조용 필드가 있는 쪽으로만 참조 가능, 한쪽만 참조하면 단방향, 양쪽이 서로 참조하면 양방향(단반향 2개) 연관관계 주인 외래 키를 관리하는 참조 주인의 반대편 : 단순 조회만 가능 1. 다대일 [N:1] 관계 1.1 다대일 단방향 가장 많이 사용하는 연관관계 다대일의 반대는 일대다 1.2 다대일 양방향 외래 키가 있는 쪽이 연관관계 주인 양쪽을 서로 참조하도록 개발 2. ..
쿠엔크
'java' 태그의 글 목록 (2 Page)