MySQL JOIN
Inner Join select * from 테이블A a join 테이블B b on a.id = b.aid inner join이지만 inner는 생략 가능합니다. Outer Join Left Join select * from 테이블A a left join 테이블B b on a.id = b.aid R...
Inner Join select * from 테이블A a join 테이블B b on a.id = b.aid inner join이지만 inner는 생략 가능합니다. Outer Join Left Join select * from 테이블A a left join 테이블B b on a.id = b.aid R...
데이터베이스 생성 CREATE DATABASE my_database 삭제 DROP DATABASE my_database 사용 USE my_database 조회 SHOW my_database DDL 테이블 생성 CREATE TABLE customers ( customer_id INT AUTO_INCREMENT PRIMARY...
SQL 명령어의 4가지 종류 DDL(Data Definition Language, 데이터 정의어) 목적: 데이터의 구조를 정의하고 관리하는 언어 주요 명령어 CREATE: 테이블 생성 ALTER: 테이블 구조 변경 DROP: 테이블 삭제 DML(Data Manipulation La...
프로그래밍 패러다임 명령형 프로그래밍(imperative) 핵심 개념: 어떻게 할 것인지 구체적으로 명령을 내리는 방식 특징 프로그램이 어떤 순서와 단게로 동작해야 하는지를 구체적인 제어 흐름(조건문, 반복문 등)으로 기술 변수의 값이 바뀌면서 상태가 변해감 CPU의 동작 방식과 유사하여, 전통적인...
스레드 풀 사용 1~8을 병렬로 더하는 프로그램 public class ParallelMain3 { public static void main(String[] args) throws InterruptedException, ExecutionException { // 스레드 풀을 준비한다. ExecutorService es...
등장 배경 기존 인터페이스에 새로운 메서드를 추가하면 이미 배포된 구현체들이 전부 컴파일 에러가 나는 문제가 발생 디폴트 메서드를 통해 인터페이스에 기본 구현을 제공함으로써, 하위 호환성을 꺠뜨리지 않고 기능을 확장 가능 사용 예시 public interface MyInterface { void existingMethod(); ...
Optional이 필요한 이유 NullPointerException(NPE) 문제 여러 메서드가 연쇄적으로 호출되어 내부에서 null 체크가 누락되면, 추적하기 어렵고 디버깅 비용이 증가 가독성 저하 null 체크 로직이 누적되면 코드가 복잡해지고 가독성이 떨어짐 의도가...
Stream API 란? 스트림(Stream): 자바 8부터 추가된 기능으로, 데이터 흐름을 추상화해서 다루는 도구 컬렉션(Collection) 배열 등의 요소들을 연산 파이프라인을 통해 연속적인 형태로 처리할 수 있게 해줌 특징 데이터 소스를 변경하지 않음 스트림에서 제공하는 연산들은 원본 컬렉션을 변경하지 ...
메서드 참조의 필요성 간결성 람다 표현식을 더욱 간단하게 표현 매개변수 생략 특히 메서드 체이닝에서 코드가 매우 깔끔 가독성 메서드 이름을 직접 사용하여 의도가 더 명확 복잡한 람다 표현식을 단순화할 수 있음 유연성 다...
문법 차이 익명 클래스 // 익명 클래스 사용 예 void main() { Button button = new Button(); button.setOnClickListener(new OnClickListener() { @Override public void onClick (View v){ System.out.prin...