analogcoding

5/30 / Object.create , Inheritance Patterns 본문

Be well coding/In Immersive

5/30 / Object.create , Inheritance Patterns

be well 2019. 5. 30. 22:31

체크포인트 

 

Object.create()

 

var obj1 = { x: 10 };           
var obj2 = Object.create(obj1);

obj2.x += 10;    // obj2 의 값을 수정 20
obj1.x = 15;     // obj1 의 값이 변하였지만 obj2의 자체의 x는 이미 20 의 값을
                 // 가졌기에 변하지 않음.

var result = obj2.x;  // 20
var obj1 = { x: 10 };
var obj2 = Object.create(obj1);

var obj3 = Object.create(obj2);

var result = obj3.x + 10;  // result 는 20이지만
console.log(obj3.x)        // obj3.x 에 직접 값을 대입하지 않아서 obj3.x 는 10

 

자료구조 스프린트 시작.

 

OOP 

Object-Oriented-Programming

 

 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법

 

코드 재사용이 용이

유지보수가 쉬움

대형 프로젝트에 적합

 

 

 

1. Functional

함수를 이용해서 찍어내는 방식.

인스턴스를 생성할 때마다 모든 메소드를 할당해서 인스턴드가 메소드의 수만큼 메모리를 차지한다.

 


2. Functional shared

함수를 선언하고 메소드 객체를 따로 생성 이를 인자로 받는 extend 함수를 함수 내부에서 합치는 방식.

객체에 있는 메소드들의 메모리 주소만 참조해서 메모리 효율이 좋다.

 


3. Prototypal

Object.create() 는 특정 객체를 prototype으로 하는 객체를 생성하는 함수. 이를 이용한다.

 


4. Pseudoclassical

new 생성자 함수를 이용한다.

 

 

 

Complexity Analysis

 

다음 날  체크포인트에서 정리 예정.

 

 

정신없다 하루에 머릿 속에 들어오는 양이 많다 이전 것도 아직 받아드리지 못하고 헤매고있는데 ㅠㅠ

1일 1포기를 생각하게 된다 ... 이제 겨우 첫 주인데.. 4일간 55시간을 학원에만 있었다 ㅋㅋ..

Comments