본문 바로가기
javascript

[자바스크립트] 객체 #2

by jinbro 2017. 3. 14.

[객체지향]

- 공통의 속성, 동작을 지니고 있지만 각기 존재마다 본인만의 특징이 있음, 이를 구현하기위한 방법

- 인간의 표현방법과 똑같이 만듬 : 주어(S)가 (무엇을) 한다(V) - 객체.메소드 : 객체가 동작한다(메소드) 

- 이를 지향하는 프로그래밍 언어를 지칭하여 객체지향 프로그래밍 언어라 함

- 객체지향에는 두가지 방법이 있음 : 객체를 지향하는 것은 맞지만 각기 다른 방법에 의해 객체를 구현함



[두 객체지향의 차이]

1) 클래스 기반 객체지향 : 주로 c-family 언어(c++, java 등)

- 객체 설계도인 클래스를 만듬 : 공통 속성, 동작(메소드), 공통 속성에 대한 값을 초기화하기위한 생성자 메서드를 가지고 있음

- 클래스(설계도)에 맞춰 객체(new)를 생성함

- 생성자 메서드에서 각 공통의 속성에 대한 값을 초기화하고 객체가 생성됨


2) 프로토타입 기반 객체지향 : 자바스크립트 등

- 자바스크립트는 함수 기반언어로 프로토타입에 대한 이해에 앞서 함수로 객체를 어떻게 만드는지 등 기본 개념에 대해 살펴볼 것

- 자바스크립트의 함수는 생성자함수임(객체를 만들어내고 초기화하는 역할을 모두), 클래스 - 생성자메서드(함수 역할)이 따로X

- 생성자함수 역할은 함수를 기반으로 생성하는 객체들이 공통적으로 가질 속성(프로퍼티), 동작(메서드)을 정의하기위해서임

- 함수는 일반함수가 되기도 하고, 생성자함수가 되기도 함, 일반함수가 생성자함수 역할로 하게 만드는 키워드가 new임

- 함수가 생성자역할을 하고, new 키워드를 통해 객체를 만듬 : 이 과정에서 프로토타입 객체가 중요한 역할을 함(다음 포스팅)



- 짧게 프로토타입을 설명하면 생성자함수가 가지고 있는 공통 속성, 동작의 원형(원래의 초기값)임

- 하나 추가하자면 프로토타입 또한 함수가 기본으로 가지는 속성 - 상속의 개념을 만들 수 있음(프로토타입체인이라 함)

- 프로토타입에 대한 설명은 일단 여기까지고 이후 포스팅을 통해 더 자세히 알아볼 것임



[다음 포스팅]

- 클래스 기반과 프로토타입 기반 객체지향인 자바스크립트의 차이점에 대해 살펴보았음

- 프로토타입이라는 개념에 조금 더 쉽게 다가가기위해 자바스크립트 함수에 대해 자세히 알아볼 것임

- 이후 프로토타입이라는 것에 대해 포스팅할 것

댓글