
해당 벨로그는 드림코딩의 자바스크립트 기초 강의 (ES5+) 6강을 보고 작성한 글입니다.
6강은 객체지향언어 컨셉에 대한 이해와 클래스와 오브젝트의 차이점에 대해서 배운다.
자바스크립트의 클래스와 오브젝트에 대해서 생각해보자.
클래스는 연관있는 데이터를 한데 묶어놓는 컨테이너 같은 개념이다.
![]() | ![]() |
|---|
클래스는 속성(field) 과 행동(method) 로 구성된다.
클래스는 연관있는 데이터를 한데 묶어놓은 fields 와 methods 가 종합적으로 묶여 있는 것을 말한다.
변수나 함수들을 묶어놓은 것을 클래스라고 한다.
이 클래스 안에서도 내부적으로 보여지는 함수와 밖에서 보일 수 있는 변수들을 나누어서 캡슐화 한다. 클래스를 이용해서 상속과 다형성이 일어날 수 있는데, 이런 모든 것들이 가능한 이유가 객체지향 언어이기 때문이다.
우리가 실제로 살아가고 있는 세성에는 사물과 물체들로 구성된다. 사물과 물체들을 클래스로 오브젝트로 정의해서 프로그래밍 하는 것이 좀 더 자연스럽기 때문에 개발자들이 좀 더 프로그래밍 할 수 있게 도와주는 개념이다.
객체지향 프로그래밍을 잘 하는 개발자는 풀어야 하는 문제나 구현해야 하는 기능들을 객체로 잘 정의해서 만들 수 있는 개발자를 말한다.
우리는 붕어빵이라는 Class 에 대해서 팥데이터를 넣으면 팥붕어빵이 되고, 크림데이터를 넣으면 크림붕어빵이 된다. 붕어빵 자체는 Object 가 되고, 붕어빵을 만들기 위해 정의한 붕어빵 틀은 Class 가 된다.