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 결과를 도출한다.)