JavaScript

[JavaScript] JavaScript - OOP(Class, Getter & Setter, Public, Private, Static, Inheritance)

baegofda_ 2020. 9. 1. 20:17

* 드림코딩 강의 기반으로 정리된 글 입니다.

* OOP (Object Oriented Programming)

  • Class : template (청사진, 설계도)
  • Object : Instance of a class (클래스의 객체화)
  • JavaScript : Introduced in ES6

1. Class declarations

 


2. Getter and Setter

  • get이라는 키워드로 리턴하고 set으로 설정한다.
  • getter를 정의한 순간 this.age는 메모리에 올라가는 데이터를 불러오는게 아니라 getter를 호출한다.
  • setter를 정의하는 순간 = age; 즉, 값을 할당할때 setter를 호출한다.

 

  • setter안에서 전달된 value를 this.age에 할당할때 메모리값을 업데이트하는게 아니라 setter를 호출하게되어서 무한 반복을 한다.
  • 무한 반복 방지를 위해서 변수명을 변경한다. (age -> _age)

 


3. Fields (public, private)

  • 최근에 추가되어 많이 쓰이고있지는 않다.
  • 그냥 정의 할 경우 public
  • #을 붙일 경우 private 

 


4. Static

  • 최근에 추가되어 많이 쓰이고있지는 않다.

 


5. Inheritance

  • extends를 사용하여 상속을 받는다.


6. Instance Of

  • 왼쪽에있는 오브젝트가 오른쪽의 클래스에 인스턴스인지 아닌지 (boolean 결과를 도출한다.)