JavaScript

JavaScript <객체Object 1>

wlals5855 2024. 6. 3. 23:42
1.객체(Object)의 개요

 

1) 객체의 정의

- 관련된 데이터와 함수를 모아 놓은 집함

- 객체 내부에서는 데이터와 함수를 프로퍼티(속성)과 메서드(기능)라고 불림

-자바 스크립드는 '객체'지향 프로그래밍 언어

-실세계에 존재하고 인지하는 모든 것을 객체로 표현

 

2) 객체의 특징

- 객체는 데이터 타입 중 하나. 다양한값을 담을 수 있는 컨테이너

ex) 배열도 여러 타입의 자료를 담는 것이 가능한 객체의 이부

: 배열은 개체의 여러 데이터를 순차적으로 인덱스를 부여한 타입

- typeof(데이터): 해당 데이터의 형태를 반환

console.log(typeof([1, 2, 3])); // object

 

2. 객체의 구조

-객네 지향 프로그램의 객체
:고유한 특성가 동작을 가지는 것

 

# 예시

'사람'이라는 객체의 정의

 

 특정 (속성, 프로퍼티)

- 객체의 속성은 객체가 가진 데이터

ex) 이름, 나이, 직업 등

 

기능 (동작, 메서드)

- 객체가 수행할 수 있는 행동이나 기능을 정의

- 일반적으로 함수 형태로 정의되며, 객체의 속성을 활용하거나 조작가능

ex) 걷다, 말하다. 먹다 등

 

3. 객체 생성 방법

- 변수를 정의하고 초기화하여 시작

: 객체는 중괄호({})를 사용하여 초기화

 

1) 리터럴 방식

- 가장 간단하고 일반적인 객체 생성 방식

- 중괄호를 사용한 생성

- 중괄호 {}를 사용하여 객체를 초기화

- 그 안에 객체의 프로퍼티와 메서드를 정의 가능

let person = {
  //? 데이터(멤버)
  // '키: 값'의 형태로 지정
  name: {
    // 객체의 값으로 객체를 사용: 중첩 객체
    last: '장',
    first: '지민'
  },
  age: 50,
  gender: 'female',
  interests: ['devlope', 'exercise'],
  isMarried: false
}

 

2) 생성자 함수 사용 방식

- new 키워드와 함께 사용자 정의 생성자 함수를 사용하여 객체를 생성

- 같은 형태의 객체를 여러 개 생성해야 할 때 유용

-함수 내부에서 this 키워드를 사용해 객체의 속성(vmfhvjxl)을 정의

 

# 생성자 함순느 일반 함수와 달리 객체를 생성할 때의 사용을 명확하게 하기 위해

- UpperCamelCase 사용 권

function Human(name, height) {
  this.name = name;
  this.height = height;

  this.greet = function() {
    console.log(`Hello, ${this.name}`);
  }
}

let person1 = new Human('이승아', 169);
// this 키워드의 경우
// : 생성되는 그 객체 자체를 의미

console.log(person1.name);
console.log(person1.height);
person1.greet(); // Hello, 이승아

let person2 = new Human('이도경', 157);

console.log(person2.name);
console.log(person2.height);
person2.greet(); // Hello, 이도경