1. Javascript class에서 method 구현
1) prototype 이용
클래스를 선언하고, 외부에서 프로토 타입을 통해 함수를 구현한 예이다.
결과 값은 정상적으로 합계 30이 출력 되는 것을 볼 수 있다.
2) 내부 메소드로 구현하기
클래스 안에 메소드를 선언함으로써, 위의 코드와 같은 결과물을 얻을 수 있다.
그렇다면 'dongle' 이라는 객체에서 sum을 다르게 정의 즉 재정의하고 싶다면 어떻게 하면 될까?
형식 : 객체 이름. 내부 메소드 이름 = function() { return 리턴할 내용; }
이 형식대로 재정의를 하면 된다. console 창에서도 반영이 잘 되어있을까? 하는 의문이 들 수 있다. 이 콘솔 로그는 sum()을 출력하기 위해서 다음과 같은 순서를 갖는다.
- 'dongle' 이라는 객체가 sum이라는 함수를 갖고 있는지를 먼저 찾는다. 위의 case의 경우에는 있기 때문에 재정의된 함수로 출력이 진행되는 것이고,
- 없다면 'dongle' 이라고 하는 객체의 클래스인 'Person' 안에 sum이라고 하는 method가 있는지 확인하고 있다면 그것을 실행하게 되는 것이다.
728x90
반응형
'Tech > Javascript' 카테고리의 다른 글
[Javascript] super (0) | 2021.01.03 |
---|---|
[Javascript] 상속(Inheritance) (0) | 2021.01.02 |
[Javascript] class (0) | 2021.01.02 |
[Javascript] prototype 프로토 타입 (0) | 2021.01.01 |
[Javascript] constructor 생성자 함수 (0) | 2021.01.01 |