프로그래밍을 구성하기 위한 접근 방식
| 분류 | 언어 | 특징 |
|---|---|---|
| 🧩 절차지향 프로그래밍 | C언어 | - 함수(절차)를 이용한 순서가 정해진 작업 - 코드가 위에서 아래로 순차적으로 실행 |
| 🧱 객체지향 프로그래밍 | JAVA, JS, Python, C++ | - 객체(데이터 + 기능)를 하나로 묶어서 처리 - 코드의 재사용성과 확장성이 뛰어남 |
| 구분 | 설명 |
|---|---|
| 📘 정의 | 주체가 아닌 다른 실체 |
| ⚡ 특징 | 정보와 행동을 묶은 작은 프로그램 단위 |
| 🌍 의의 | 현실 세계의 대상을 코드로 표현한 것 |
| 구분 | 기호 | 특징 | 사용 목적 |
|---|---|---|---|
| 🧱 객체(Object) | { } | - 속성명 중심 - 순서 없음 - 정보 표현에 유리 | 개별 정보 표현 |
| 📋 배열(Array) | [ ] | - 인덱스 중심 - 순서 있음 - 목록 표현에 유리 | 동일한 정보 묶기 |
| ✅ 공통점 | 여러 개의 자료를 하나의 자료형으로 묶는다 |
🧠 정보를 표현할 때는 객체, 동일한 정보들을 묶을 때는 배열을 사용한다.
변수는 객체나 배열 자료 1개를 저장하는 메모리 공간이다.
const var1 = [10, 'hello']; // 배열 1개를 저장
const var2 = { props: 10, props2: 'hello' }; // 객체 1개를 저장
const obj1 = { };
빈 객체도 객체이다.
const obj2 = { 속성명1: 10, 속성명2: 'hello', 속성명3: true };
| 요소 | 설명 |
|---|---|
| ⚙️ 속성명 + 자료 | 한 쌍을 entry(엔트리)라 함 |
| 💬 속성명 작성 규칙 | - 특수문자는 따옴표로 감싼다 - 중복 불가 |
| 🔧 속성의 자료형 | 변수, 객체, 배열, 함수 등 모든 자료형 가능 |
const obj2 = { 속성명1: 10, "속성명2": "hello" };
| 호출 방식 | 코드 예시 | 설명 |
|---|---|---|
| 🧩 전체 호출 | console.log(obj2); | 객체 전체 호출 |
| 🎯 속성 호출 | console.log(obj2.속성명1); | 특정 속성의 자료 호출 |
| 🗝️ key 조회 | Object.keys(obj2) | 객체의 모든 속성명(key) 배열 반환 |
| 💎 value 조회 | Object.values(obj2) | 객체의 모든 자료(value) 배열 반환 |
| 🧱 entry 조회 | Object.entries(obj2) | key-value 쌍(entry) 배열 반환 |
const obj2 = { 속성명1: 10, "속성명2": "hello" };
| 동작 | 코드 예시 | 설명 |
|---|---|---|
| ➕ 추가 | obj2.속성명3 = true; | 새로운 속성 추가 |
| ♻️ 수정 | obj2.속성명1 = 20; | 기존 속성값 변경 |
| ❌ 삭제 | delete obj2.속성명3; | 속성 제거 |
| 🔍 존재 확인 | '속성명1' in obj2 | 속성 존재 여부 확인 (true / false) |
const obj2 = { 속성명1: 10, "속성명2": "hello" };
// 속성 추가
obj2.속성명3 = true;
console.log(obj2);
// 속성 수정
obj2.속성명1 = 20;
console.log(obj2);
// 속성 삭제
delete obj2.속성명3;
console.log(obj2);
// 속성 존재 확인
console.log('속성명1' in obj2); // true
console.log('속성명4' in obj2); // false