[JavaScript] 기본개념 06

yoon052·2023년 4월 25일

JavaScriptBasic

목록 보기
5/10
post-thumbnail

해당 벨로그는 드림코딩의 자바스크립트 기초 강의 (ES5+) 6강을 보고 작성한 글입니다.


6강은 객체지향언어 컨셉에 대한 이해와 클래스와 오브젝트의 차이점에 대해서 배운다.

자바스크립트의 클래스와 오브젝트에 대해서 생각해보자.


클래스의 정의

  • 클래스(Class)

클래스는 연관있는 데이터를 한데 묶어놓는 컨테이너 같은 개념이다.

image.jpg1image.jpg2

클래스는 속성(field) 과 행동(method) 로 구성된다.

클래스는 연관있는 데이터를 한데 묶어놓은 fields 와 methods 가 종합적으로 묶여 있는 것을 말한다.

변수나 함수들을 묶어놓은 것을 클래스라고 한다.

이 클래스 안에서도 내부적으로 보여지는 함수와 밖에서 보일 수 있는 변수들을 나누어서 캡슐화 한다. 클래스를 이용해서 상속과 다형성이 일어날 수 있는데, 이런 모든 것들이 가능한 이유가 객체지향 언어이기 때문이다.

우리가 실제로 살아가고 있는 세성에는 사물과 물체들로 구성된다. 사물과 물체들을 클래스로 오브젝트로 정의해서 프로그래밍 하는 것이 좀 더 자연스럽기 때문에 개발자들이 좀 더 프로그래밍 할 수 있게 도와주는 개념이다.

객체지향 프로그래밍을 잘 하는 개발자는 풀어야 하는 문제나 구현해야 하는 기능들을 객체로 잘 정의해서 만들 수 있는 개발자를 말한다.


클래스와 오브젝트

  • Class → (청사진, 붕어빵틀) template, declare once, no data in 클래스 자체에는 데이터가 들어있지 않고, 틀(템플릿)만 정리해놓고 한번만 선언한다.
  • Object → (붕어빵) instance of a class, created many times, data in Class 를 이용해 실제로 데이터를 넣어서 만드는 것이 Object 이다. Class 를 이용해 새로운 instance 를 생성한 것이 Object 이다. Object 는 Class 를 이용해 많이 생산할 수 있다. Class 는 정의만 한 것이라서 실제로 메모리에 올라가지는 않지만, 실제로 데이터를 넣게 되면 Object 가 되면서 메모리에도 올라갈 수 있게 된다.

우리는 붕어빵이라는 Class 에 대해서 팥데이터를 넣으면 팥붕어빵이 되고, 크림데이터를 넣으면 크림붕어빵이 된다. 붕어빵 자체는 Object 가 되고, 붕어빵을 만들기 위해 정의한 붕어빵 틀은 Class 가 된다.

profile
개발자 지망생

0개의 댓글