데이터베이스 내 데이터를 추가, 조회, 수정, 삭제하는 명령어
| 명령어 | 기능 | 설명 | 예시 |
|---|---|---|---|
| 🟢 INSERT | 저장 (Create) | 테이블에 새 레코드 삽입 | INSERT INTO member(name, age) VALUES ('홍길동', 25); |
| 🔵 SELECT | 조회 (Read) | 특정 조건으로 데이터 조회 | SELECT name FROM member WHERE age > 20; |
| 🟣 UPDATE | 수정 (Update) | 기존 레코드 수정 | UPDATE member SET age = 30 WHERE name='홍길동'; |
| 🔴 DELETE | 삭제 (Delete) | 레코드 삭제 | DELETE FROM member WHERE age < 18; |
1️⃣ 기본형태
INSERT INTO 테이블명 (속성명1, 속성명2) VALUES (값1, 값2);
2️⃣ 모든 속성명을 사용할 경우 생략 가능
INSERT INTO 테이블명 VALUES (값1, 값2);
3️⃣ 여러 개의 레코드 삽입
INSERT INTO 테이블명 VALUES (값1, 값2), (값3, 값4), (값5, 값6);
| 문법 | 설명 | 예시 |
|---|---|---|
SELECT * FROM 테이블명; | 전체 속성 조회 | 전체 데이터 출력 |
SELECT 속성명1, 속성명2 FROM 테이블명; | 특정 속성 조회 | SELECT name, age FROM member; |
SELECT 속성명 FROM 테이블명 WHERE 조건절; | 조건에 맞는 레코드 조회 | SELECT * FROM member WHERE age >= 30; |
💡 조회 결과는 항상 테이블 형태로 반환된다.
원본 테이블에는 영향을 주지 않는다.
MySQL Workbench에서는
safe mode가 활성화되어 있으면 수정/삭제가 불가능함
해제 명령어 👉SET SQL_SAFE_UPDATES = 0;
| 문법 | 설명 | 예시 |
|---|---|---|
UPDATE 테이블명 SET 속성명 = 새로운값; | 전체 레코드 수정 | UPDATE member SET age = 20; |
UPDATE 테이블명 SET 속성명 = 새로운값 WHERE 조건절; | 조건에 맞는 레코드 수정 | UPDATE member SET age = 35 WHERE name='철수'; |
UPDATE 테이블명 SET 속성명1=값1, 속성명2=값2; | 다수 속성값 수정 | UPDATE member SET name='영희', age=28; |
| 문법 | 설명 | 예시 |
|---|---|---|
DELETE FROM 테이블명; | 전체 레코드 삭제 | DELETE FROM member; |
DELETE FROM 테이블명 WHERE 조건절; | 조건에 맞는 레코드 삭제 | DELETE FROM member WHERE name='홍길동'; |
상위 클래스의 멤버(변수, 메소드)를 하위 클래스가 물려받는 구조
| 구분 | 내용 |
|---|---|
| 🧠 정의 | 상위 클래스로부터 멤버변수/메소드를 하위 클래스가 상속 |
| 🎯 목적 | 코드 재사용, 유지보수 용이성, 계층 구조 표현 |
| 🔑 키워드 | extends |
| ⚙️ 장점 | 재사용성 ↑ / 유지보수성 ↑ / 다형성 구현 |
| 🚫 제한사항 | 상위 클래스는 1개만 지정 가능 (단일 상속) |
📘 사용법
class 자식클래스 extends 부모클래스 {
// 상위클래스의 멤버를 그대로 사용 가능
}
같은 코드 형태지만 다양한 동작을 수행하는 성질
| 구분 | 설명 | 예시 |
|---|---|---|
| 🔹 기본 타입 | 작은 범위 → 큰 범위 자동 변환 | int → long → float → double |
| 🔹 참조 타입 | 하위 → 상위 클래스 자동 변환 | Child → Parent |
📘 예시 코드
Parent p = new Child(); // 자동 타입변환
p.method(); // Child의 오버라이딩된 메소드 실행
| 구분 | 설명 | 예시 |
|---|---|---|
| 🔹 기본 타입 | 큰 범위 → 작은 범위 강제 변환 | (int) 3.14 |
| 🔹 참조 타입 | 상위 → 하위 타입 강제 변환 | Child c = (Child) p; |
⚠️ 단, 객체의 최초 타입이 하위 클래스여야 함!
| 예시 | 생성 객체 | 설명 |
|---|---|---|
| 🐔 닭 객체 | 닭, 조류, 동물 | 하위 클래스 생성 시 상위 클래스 모두 생성됨 |
| 🐦 참새 객체 | 참새, 조류, 동물 | 형제 클래스 간 변환 불가 |
| 🕊️ 조류 객체 | 조류, 동물 | 하위 객체(닭 등)로 변환 불가 |
| 사용처 | 설명 |
|---|---|
| 🌐 웹/앱 라이브러리 | 표준화된 구조 설계에 사용 |
| 🧩 클래스 설계 | 멤버변수가 중복되는 경우 상속화 |
| 🔧 코드 재사용 | 반복되는 코드 → 메소드화 |
1️⃣ 주석처리 잘하기 — 협업 시 가독성 향상
2️⃣ API 명세서는 프로젝트의 핵심 문서! 수정 시 반드시 갱신
3️⃣ 코드 오류 시, 명세서를 다시 확인하고 단계별로 점검
4️⃣ 중복 코드는 최소화하고 메소드화로 구조화하기