본문 바로가기

BackEnd129

[Java] 생성자 오버로딩 생성자 오버로딩 같은 이름의 생성자를 생성자 시그니쳐(갯수, 순서, 타입)만 다르게 정의하여 호출하는 것. 생성자 오버로딩을 활용하여 세 개의 파라미터를 받는 생성자의 첫 부분에 두 개의 파라미터를 받는 생성자를, 두 개의 파라미터를 받는 생성자의 첫 부분에는 한 개의 파라미터를 받는 생성자를 넣어 간결하게 표현할 수 있다. ※ this(type, type...) 같은 클래스에서 정의된 다른 생성자를 호출하는 키워드 호출하려는 생성자의 파라미터의 순서에 맞게 호출하면 된다. this생성자 호출은 생성자 첫머리에서만 가능하다. 딱 한번만 불러올 수 있다. package jun03; class Car{ String model; String color; String speed; int id; static in.. 2022. 3. 17.
[Java] java.util.comparator, java.util.comparable Comparable & Comparator 원래 비교할 수 없는 객체들끼리의 비교를 가능하게 해 주는 인터페이스입니다. 둘 다 인터페이스이기 때문에, Comparable, Comparator 를 사용하려면 인터페이스 내에 선언된 메소드를 반드시 먼저 구현해야 합니다. 즉, Comparable 인터페이스에는 compareTo(T o) 메소드가 선언되어 있으므로, CompareTo 메소드를 구현(재정의=오버라이드)해야 하고 Comparator 인터페이스에는 compare(T o1, To2) 메소드를 선언되어 있으므로, Comparator 메소드를 구현해야 합니다. Comparable Comprable은 자기 자신과 매개변수 객체를 비교하고자 할 때 사용합니다. 따라서 다음과 같이 작성하게 됩니다. class.. 2022. 3. 16.
[인텔리제이] java: illegal character: 오류 보이지 않는 BOM 때문에 발생하는 오류이다. 구글 검색으로 나오는 해결방법을 모두 해봐도 안 되어서 직접 메뉴 하나하나 다 들어가보면서 진짜 고생을 했는데, 그래도 결국 해결되어서 정말 다행이다 .. ㅜㅠ [File] - [File Properties] - [File Encoding] - [UTF-8] 으로 Convert 해주었더니 정상 실행되었다. 노트패드에 복사 붙여넣기 하는 작업을 대체할 수 있는 것 같다. 2022. 3. 7.
SQL 24편: 저장 서브프로그램(프로시저, 함수, 패키지, 트리거) PL/SQL로 작성한 내용을 단 한 번 실행하는 데 사용하는 경우는 익명 블록이라고 한다. 익명 블록은 오라클에 저장 되지 않기 때문에 다시 실행하려면 PL/SQL블록을 다시 작성하여 실행하여야 한다. 이런 불편함 때문에 필요한 것이 이름을 지정하여 오라클에 저장해두는 PL/SQL 프로그램인 '저장 서브프로그램'이다. 저장 서브프로그램은 저장할 때 한 번 컴파일을 하며, 공유하여 사용할 수 있고, 다른 응용 프로그램에서 호출도 가능하다. 대표적인 구현 방식은 다음과 같다. 저장 프로시저 특정 처리 작업 수행을 위한 서브 프로그램. SQL문에서는 사용할 수 없다. 저장 함수 특정 연산을 거친 결과 값을 반환하는 서브프로그램. SQL문에서 사용할 수 있다. 패키지 저장 서브프로그램을 그룹화 하는데 사용한다... 2022. 1. 26.
SQL 23편: 예외 처리 오류, 예외 오류는 크게 두 가지로 구분된다. 1) 문법이 잘못되었거나 오타로 인한 오류: 컴파일 오류=문법 오류 2) 명령문의 실행 중 발생한 오류: 런타임 오류=실행 오류 이 중에서 오라클은 런타임 오류=실행 오류를 예외라고 한다. 예외 처리부 예외 처리는 예외가 발생하였을 때 프로그램이 비정상 종료가 되는 것을 막기 위해 EXCEPTION 영역에 필요 코드를 작 성하는 것을 뜻한다. 예외 처리부가 실행되면 예외가 발생한 코드 이후의 내용은 실행 되지 않는다. WHEN~THEN 절을 예외 핸들러라고 한다. 기본형식 EXCEPTION WHEN 예외이름1[OR 예외이름2] THEN 예외 처리에 사용할 명령어; WHEN 예외이름3[OR 예외이름4] THEN 예외 처리에 사용할 명령어; ... WHEN OT.. 2022. 1. 25.
SQL 22편: 커서 커서 SELECT문 또는 데이터 조작어 같은 SQL문을 실행했을 때 해당 SQL문을 처리하는 정보를 저장한 메모리 공간이다. SQL문의 결과 값을 사용할 수 있다. SELECT 문의 결과 값이 여러 행으로 나왔을 때, 각 행별로 특정 작업을 수행하도록 기능을 구현하는 것이다. 사용 방법에 따라 명시적 커서와 묵시적 커서로 나뉜다. *메모리 공간: =Private SQL Area, 커서는 이 메모리의 포인터를 말한다. SELECT INTO 방식이 조회되는 데이터가 단 하나의 행일 때 사용 가능한 방식인 것에 비해 커서는 결과 행이 하나이든 여러 개이든 상관 없이 사용할 수 있다. SELECT 열1, 열2, .... INTO 변수1, 변수2, ... FROM ... 1. 명시적 커서 기본 형식 DECLARE.. 2022. 1. 23.
SQL 22편: 레코드와 컬렉션 레코드 - 자료형이 각기 다른 데이터를 하나의 변수에 저장하는 데 사용한다. - 변수는 여러 개 지정할 수 있고(한 줄 당 변수 한 개), 각 변수는 쉼표로 구분한다. - 레코드에 포함된 변수를 사용할 때는 레코드이름.변수이름 으로 사용할 수 있다. 레코드 '자료형' 생성하기 TYPE 레코드이름 IS RECORD( 변수이름 자료형 NOT NULL := 표현식 ) 위에서 생성한 자료형으로 변수를 만들 때는 아래 쪽에 다음과 같이 선언해주어야 한다. 변수이름 레코드이름; 레코드를 사용하여 INSERT 하기 INSERT INTO 테이블이름 VALUES 레코드변수; 레코드를 사용하여 UPDATE 하기 UPDATE 테이블이름 SET ROW = 레코드변수 WHERE 조건식; 컬렉션 컬렉션의 종류 - 연관 배열 - .. 2022. 1. 20.
SQL 21편: 조건 제어문(IF, CASE), 반복 제어문(LOOP) 조건 제어문 1. IF 조건문 종류 설명 IF-THEN 특정 조건을 만족하는 경우 수행 IF-THEN-ELSE 특정 조건을 만족하는 경우와 반대 경우에 각각 지정한 작업 수행 IF-THEN-ELSIF 여러 조건에 따라 각각 지정한 작업 수행 1) IF-THEN IF 조건식 THEN 수행할 문장; END IF; 2) IF-THEN-ELSE IF 조건식 THEN 수행할 문장; ELSE 수행할 문장; END IF; 3) IF-THEN-ELSIF IF 조건식 THEN 수행할 문장; ELSIF 조건식 수행할 문장; ELSIF 수행할 문장; ... ELSE 수행할 문장; END IF; 2. CASE 문 IF-THEN-ELSIF 문과 같이 조건식의 결과 값이 여러가지 일 때, CASE문을 사용하면 더욱 단순하게 표현.. 2022. 1. 19.
SQL 20편: PL/SQL 기초(블록, 변수와 상수 정의하기) 블록 PL/SQL프로그램의 기본 단위 블록을 구성하는 키워드 DECLARE 선언부, 선택 실행에 사용될 변수, 상수, 커서 등을 선언 BEGIN 실행부, 필수 조건문, 반복문, SELECT, DML, 함수 등 정의 EXCEPTION 예외 처리부, 선택 예외 상황 처리 END 필수 블록을 종료 PL/SQL문 작성 규칙 1. 블록을 구성하는 DECLARE, BEGIN, EXCEPTION 키워드에는 세미콜론을 사용하지 않는다. 2. 블록의 각 부분에서 실행해야 하는 문장 끝에는 ;을 사용한다. 3. PL/SQL문은 마지막에 슬래시(/)를 사용하여 실행한다. 4. 주석 사용이 가능하다. (-- 또는 /* */) *PL/SQL 실행 결과를 화면에 출력하기 위해서는 SERVEROUTPUT 환경 변수 값을 ON으로 .. 2022. 1. 18.
SQL 19편: 사용자, 권한, 롤 관리 사용자 데이터 베이스에 접속하여 데이터를 관리하는 계정을 사용자(USER)라고 표현한다. 데이터베이스 스키마 데이터 간 관계, 데이터 구조, 제약 조건 등 데이터를 저장 및 관리하기 위해 정의한 데이터베이스 구조의 범위를 스키마를 통해 그룹 단위로 분류한다. 사용자는 데이터를 사용 및 관리하기 위해 오라클 데이터베이스에 접속하는 개체를 의미하고, 스키마는 오라클 데이터베이스에 접속한 사용자와 연결된 객체를 의미한다. 예를 들어 사용자 A가 생성한 테이블, 뷰, 제약 조건, 인덱스 등의 사용자 A가 만든 모든 객체는 사용자 A의 스키마가 된다. 사용자 생성 CREATE USER 사용자 이름 IDENTIFIED BY 패스워드 DEFAULT TABLESPACE 테이블 스페이스 이름 TEMPORARY TABLE.. 2022. 1. 16.
SQL 18편: 제약 조건 제약 조건 제약조건을 지정한 열에는 제약 조건에 부합하지 않는 데이터를 저장할 수 없도록 한다. 제약 조건 지정 방식에 따라 기존 데이터의 수정이나 삭제 가능 여부도 영향을 받는다. 제약 조건의 종류 NOT NULL NULL 불가 UNIQUE 중복 불가 PRIMARY KEY 중복 불가, NULL 불가 FOREIGN KEY 다른 테이블의 열을 참조하여 존재하는 값만 입력 가능 CHECK( ) 괄호 안의 조건식을 만족하는 데이터만 입력 가능 DEFAULT A 값이 지정되지 않을 경우 A로 지정, 제약 조건은 아니지만 같은 위치에 지정 데이터 무결성 DB에 저장되는 데이터의 정확성과 일관성을 보장한다는 의미. 이를 위해 항상 유지해야 하는 기본 규칙을 가지고 있다. 영역 무결성 열에 저장되는 값의 적정 여부... 2022. 1. 15.
SQL 17편: 객체(데이터 사전, 인덱스, 뷰, 시퀀스, 동의어) 객체 종류 테이블 데이터 사전 인덱스 뷰 시퀀스 동의어 데이터 사전 데이터베이스에서 테이블은 1.사용자 테이블과 2.데이터 사전으로 나뉜다. 데이터 사전은 데이터베이스의 사용자, 권한 등의 데이터베이스 설정을 저장하기 위한 특별한 테이블로 이해하면 될 듯 하다. 사용자 테이블은 Normal Table, 데이터 사전은 Base Table이라고 불리기도 한다. 메모리,성능,사용자,권한,객체 등 DB 운영에 중요한 데이터가 보관되어 있다. 데이터 사전 정보에 직접 접근이나 작업하는 것은 허용하지 않으며, SELECT문으로 정보 열람을 할 수 있게 해 둔다. 데이터 사전 뷰는 접두어를 보고 용도를 파악할 수 있다. 접두어 설명 USER_XXXX 현재 데이터베이스에 접속한 사용자가 소유한 객체 정보 ALL_XXX.. 2022. 1. 9.