객체지향은 프로그래밍 방법론중에 하나로, 프로그램을 작성할 때 객체들을 만들어 서로 소통하도록하는 방법이라고 할 수 있습니다.
그렇다면 여기서 말하는 객체란 무엇일까요?
우리가 앞서서 배운 자바스크립트 객체가 키,값 쌍으로 이루어진 데이터의 묶음이라면, 객체 지향의 객체는 우리가 표현하고자 하는 구체적인 사물을 추상적으로 표현한것 이라고 볼 수 있습니다.
이 그림은 무엇을 표현한 것일까요?
즉 추상화란 필요한 최소한의 정보로 대상을 표현하는것을 의미합니다.
만약 저를 추상적인 객체로 표현한다면
즉 저를 객체로 표현한다면
const me = {
name : '한재현',
address : '제주도 제주시 인다 1길',
phoneNum : '010-8000-0000',
canWalk : function(){
console.log('재현이가 걷는다.');
}
}
이렇게 표현할 수 있습니다.
그리고 또한 객체는 행동과 상태를 가집니다. 여기서 행동은 메소드, 상태는 프로퍼티 정도로 이해하시면 됩니다.
자자 그럼 저에게 새로운 능력을 부여해봅니다.
const me = {
name : '한재현',
address : '제주도 제주시 인다 1길',
phoneNum : '010-8000-0000',
canWalk : function(){
console.log('재현이가 걷는다.');
},
teaching : function(student){
student.levelUp();
}
}
그리고 새로운 객체를 만들어봅니다.