Back-End 56

Oracle ■ DML SELECT(1)

◈ DML ◈ • DML(Data Manipulation Language)데이터 조회 및 변경하기 위한 명령어 • DML의 종류1. 조회 : SELECT2. 삽입 : INSERT3. 삭제 : DELETE4. 변경 : UPDATE • 스키마 오브젝트(Schema Object)테이블, 뷰, 인덱스와 같은 구조를 포함하는 데이터의 저장 구조를 가진 객체 • 스키마(Schema)여러 개의 스키마 오브젝트가 모인 집합사용자가 생성한 데이터베이스 객체들을 의미하며 스키마의 이름은 계정명을 따라감ex) eunsik이라는 계정이 테이블 등의 객체를 만들었다면 eunsik 스키마가 됨 • SELECT데이터를 조회할 때 사용하는 명령어-> 문법 : SELECT [컬럼명] FROM [테이블명]; 각각의 컬럼을 조회할 수 있..

Back-End/Oracle 2024.07.10

Oracle ■ 데이터베이스 종류와 기초

◈  데이터베이스 ◈  • 데이터베이스(DataBase)통합하여 관리되는 데이터의 집합 * 앞으로 배울 데이터베이스의 특징으로는 엑셀과 같은 열과 행이 있는 표 형식으로 데이터를 표현함 • DBMS (DataBase Management System)데이터베이스를 관리하기 위한 소프트웨어 • NoSQLRDBMS 외의 다른 유형의 데이터베이스를 지칭하며 구체적인 정의는 없음 * 대한민국이 아닌 모든 나라를 외국이라고 부르는 것과 비슷함 • 관계형 데이터베이스(RDBMS)데이터를 모아둔 테이블들이 서로 관계를 맺고 모여있는 집합체 • RDBMS의 종류    ◈  개발환경 구축하기 ◈ * 상황마다 방식이 다를수있습니다. • 설치 전 주의사항1. 드라이브 바로 아래에 설치 X-> ex) C드라이브 아래에 orac..

Back-End/Oracle 2024.07.09

Java ■ 제네릭과 컬렉션

◈ 제네릭(Generic) ◈ 데이터 타입을 외부에서 지정함  미리 데이터 타입을 지정해두지 않고 외부에서 사용할 때 지정하는 데이터 타입으로 유동적으로 변경하여 지정해줌 • 사용 방법1. 클래스에 와 같이 제네릭을 설정한 후, 필드의 데이터 타입을 T로 지정2. 객체를 생성할 때 클래스명을 지정3. 설정한 데이터 타입으로 사용이 가능한지 확인 * 즉, 외부에서 어떠한 데이터 타입으로 만들어 사용할 지 모르는 필드 또는 매개변수 등에 주로 사용됨  • int 대신 Integer를 사용하는 이유Person 위치에 있는 데이터 타입은 참조형만 올 수 있음 기본형 타입은 올 수 없기 때문에 int의 wrapper class인 Integer를 사용해야 함 * 제네릭은 참조형 변수, 즉 객체를 필요로 하며 기본형..

Java ■ 예외

◈ 예외처리(Exception) ◈ 특정 오류가 발생했을 때 무시하고 싶거나, 오류에 따라 적당한 작업을 처리할 수 있도록 해주는 것 • 예외처리를 하는 이유프로그램의 비정상적인 동작으로 인해 발생하는 예외를 미리 대비하고, 프로그램을 정상적 으로동작할 수 있도록 사전에 방지하고자 사용함 • 에러 종류  • 예외 종류  • 예외 구조  • try-catch문자바에서의 예외처리는 try-catch문을 사용하며 try에서는 예외를 감지할 코드그리고 catch에서는 특정 예외가 발생 시 실행할 코드를 작성함* try에 있는 코드를 실행할 때 예외가 발생한다면 이후의 코드는 실행되지 않음    • 실습배열의 범위를 벗어나게 하여 OutOfBounds를 발생시켜 확인하기  • try-catch-finally문fi..

Java ■ 추상화

◈ 추상화 (abstract) ◈ 구체적인 사실들을 일반화시켜 기술하는 개념으로써 필요한 공통점을 추출하고 불필요한 공통점을 제거하는 과정1. 복잡한 시스템을 단순화하고 모델링이 가능  • 추상 클래스 (1) - 추상 클래스(abstract class)미완성된 클래스로써, 구현부 {} 가 없는(미완성인) 메소드를 가지고 있음 - 추상 클래스와 메소드 예시  • 추상 클래스 (2) - 추상 클래스(abstract class)미완성된 클래스 - 추상 메소드(abstract method)구현부 {} 가 없는(미완성인) 메소드 - 추상 클래스와 메소드 예시 • 추상 클래스 (3) - 추상 클래스를 사용하는 이유똑같은 부모 클래스(추상 클래스)를 상속 받지만, 자식 클래스들의 메소드가모두 다른 기능을 수행할 것으..

Java ■ 다형성(Polymorphism)

◈ 다형성 ◈ 여러가지의 형태를 가질 수 있는 개념 (오버로딩, 오버라이딩, …) 1. 코드의 재사용성을 높이고, 중복을 최소화 2. 계층적인 구조를 통해 객체 간의 관계를 나타낼 수 있음 • 오버라이딩 vs 오버로딩 오버라이딩 -> 부모 클래스에서 상속받은 메소드를 재정의 하는 행위 오버로딩 -> 같은 클래스 내에서 메소드의 매개변수 타입/위치를 종류별로 만드는 행위 • 다형성을 통한 객체 참조 (1) 객체를 생성할 때 부모 클래스의 타입으로 객체 생성이 가능 이를 통해 동일한 타입(부모 클래스)을 가진 여러가지 하위 클래스 객체를 생성할 수 있음 • 다형성을 통한 객체 참조 (2) 부모 클래스가 가지고 있는 필드를 활용할 수 있으나, 내가(Dog) 가진 필드는 일반적인 방법으로 사용할 수 없음 • 참..

Java ■ 접근제어자와 캡슐화, 예약어

◈ 접근제어자 ◈ 이름 그대로 접근을 제한하며, 캡슐화(정보은닉)의 개념 중 하나 아래 표에서 클래스를 제외한 필드와 메소드의 제어자는 같다. ◈ 클래스 접근제어자 ◈ • 클래스 default 같은 패키지에서만 접근이 가능하므로 에러 발생 ◈ 멤버변수&메소드 접근제어자 ◈ • 멤버변수&메소드 default 같은 패키지에서만 접근 가능하므로, 다른 패키지일 때 자식 클래스이더라도 접근 불가 • 멤버변수&메소드 protected 다른 패키지에 있는 자식 클래스에서 사용 가능 default 또는 private으로 할 경우 불가 ◈ 캡슐화 ◈ 변수와 메서드를 클래스로 묶어 독립적으로 동작하지 않도록 하거나 불필요한 정보를 노출시키지 않는 개념 1. 코드의 유지보수성을 향상 2. 객체의 내부 구현을 외부로부터 숨..

Java ■ 상속

◈ 상속 ◈ 다른 클래스가 가지고 있는 멤버(필드, 메소드)들을 상속받아 재활용하는 것 부모와 자식간의 관계로 나타냄 • 장점 1. 코드를 재활용함으로써 코드의 중복을 제거하고, 코드의 양이 줄어듬 2. 공통된 코드를 관리할 수 있기 때문에 코드의 유지보수(추가/변경)에 좋음 ◈ 상속의 종류 ◈ • 다중 상속 여러 개의 부모 클래스를 가질 수 있는 상속 • 단일 상속 한가지의 부모 클래스만 가질 수 있는 상속 * 자바에서는 단일 상속만을 지원함 ◈ 다중 상속 ◈ • 다중 상속의 문제점 1. 모호성 -> 상속받은 부모 클래스들끼리 같은 이름을 가진 메소드나 변수가 있을 경우 어떤 부모 클래스에서 호출 해야하는지 알 수 없는 모호성이 발생 2. 복잡성 -> 다중 상속을 사용하면 클래스 간의 관계가 복잡해지고..

Java ■ 생성자, this, this()

◈ 생성자 ◈ 객체를 생성할 때 호출되며, 객체를 초기화하는 메소드 * 멤버 변수들을 기본값으로 초기화 • 생성자 호출 아래와 같이 이미 자신도 모르게 생성자를 호출해왔음 • 참고 생성자를 따로 만들지 않았는데, 위와 같이 사용이 가능했던 이유는 컴파일 시 생성자가 하나도 없을 경우 자동으로 생성자를 만들어줌 • 생성자 규칙 1. 클래스 이름과 동일해야 함 2. 리턴값이 없음 (void 없음) -> 생성자의 경우 항상 반환되는 값이 없기 때문에 void를 생략하고 사용함 3. 모든 클래스는 최소 1개 이상의 생성자를 가져야 함 -> 이러한 이유로 컴파일 시 생성자가 하나도 없다면 자동으로 생성해줌 • 생성자의 종류 생성자에는 기본 생성자와 매개변수가 있는 생성자가 있으며 기본 생성자는 매개변수가 하나도 ..

Java ■ 호출 스택과 기본형,참조형 매개변수

◈ 스택 vs 큐 ◈ • 스택(Stack) 쌓아 올리는 형태를 가진 자료구조이며 후입선출(LIFO, Last In First Out)의 구조 ex) 1. 데이터 0을 꺼내기 위해서는 데이터 1, 2를 모두 꺼내야 함 2. 데이터 1을 꺼내기 위해서는 데이터 2를 꺼내야 함 • 큐(Queue) 줄을 서서 기다리는 형태를 가진 자료구조이며 선입선출(FIFO, First In First Out)의 구조 ex) 1. 데이터 0을 바로 꺼낼 수 있음 2. 데이터 1을 꺼내기 위해서는 데이터 0을 먼저 꺼내야 함 ◈ 호출 스택(Call Stack) ◈ 메소드 호출과 관련된 정보를 저장하는 메모리 영역으로 후입선출(LIFO) 구조를 가짐 • 설명 main 메소드가 호출되어 스택에 올라가있는 상태 • 설명 main 메..