06. 객체
객체란?
객체(Object)는 '실제로 존재하는 사물'을 의미하며, 자바스크립트에서는 이름(name)과 값(value)으로 구성된 속성(property) 을 가지는 기본 데이터 타입이다. 객체는 여러 개의 속성과 메소드를 포함할 수 있어 강력한 데이터 구조를 제공한다.
객체의 예시:
const person = {
name: '홍길동',
age: 25,
greet: function() {
console.log('안녕하세요! 저는 ' + this.name + '입니다.');
}
};
배열도 객체다
자바스크립트에서 배열(Array) 도 객체의 한 종류이다.
console.log(typeof []); // "object"
배열은 숫자 인덱스를 사용하여 요소(element)를 저장하고, 다양한 내장 메소드를 제공한다.
속성과 메소드
1. 요소(Element)
- 배열 내부에 저장된 값.
2. 속성(Property)
- 객체 내부에 저장된 값.
- 예: person.name → '홍길동'
3. 메소드(Method)
- 객체의 속성 중 함수 자료형인 속성을 의미.
- 예: person.greet() → '안녕하세요! 저는 홍길동입니다.'
메소드 내부에서 this 키워드 사용하기
this 키워드는 해당 메소드가 속해 있는 객체를 가리킨다.
const pet = {
name: '구름',
eat: function(food) {
alert(this.name + '은/는 ' + food + '을/를 먹습니다.');
}
};
pet.eat('밥');
✅ this.name은 pet 객체의 name 속성을 가리키므로 '구름'이 출력된다.
추가 숙제
p.288 확인문제 3번 풀이 및 과정 설명
Math 객체와 사인 값 계산
자바스크립트의 Math.sin() 함수는 라디안 단위를 사용한다. 하지만 일반적으로 사용하는 각도는 도(degree) 단위이므로 변환이 필요하다.
이유:
- Math.sin(90)을 그대로 사용하면 90 라디안을 의미하게 되어 잘못된 결과가 나온다.
- 올바른 계산을 위해 도 → 라디안 변환 공식을 사용해야 한다.
✅ 라디안 변환 공식:
radian = degree × (Math.PI / 180)
올바른 코드 예시:
const degree = 90;
// 도(degree)를 라디안(radian)으로 변환
const radian = degree * Math.PI / 180;
// 사인 값 출력
console.log(Math.sin(radian)); // 결과: 1
✅ Math.sin() 함수를 사용할 때 각도를 반드시 라디안으로 변환해야 한다는 점을 기억하자!