Tech/Javascript

[Javascript] class 에서 메소드 구현하기

lonnie(동현) 2021. 1. 2. 19:37

1. Javascript class에서 method 구현


 1) prototype 이용

 

 클래스를 선언하고, 외부에서 프로토 타입을 통해 함수를 구현한 예이다.

결과 값은 정상적으로 합계 30이 출력 되는 것을 볼 수 있다.


2) 내부 메소드로 구현하기

 

 클래스 안에 메소드를 선언함으로써, 위의 코드와 같은 결과물을 얻을 수 있다. 

클래스 안에 메소드를 선언

그렇다면 'dongle' 이라는 객체에서 sum을 다르게 정의 즉 재정의하고 싶다면 어떻게 하면 될까?

 

형식 : 객체 이름. 내부 메소드 이름 = function() { return 리턴할 내용; }

객체의 메소드를 재정의

 이 형식대로 재정의를 하면 된다. console 창에서도 반영이 잘 되어있을까? 하는 의문이 들 수 있다. 이 콘솔 로그는 sum()을 출력하기 위해서 다음과 같은 순서를 갖는다.


  1.  'dongle' 이라는 객체가 sum이라는 함수를 갖고 있는지를 먼저 찾는다. 위의 case의 경우에는 있기 때문에 재정의된 함수로 출력이 진행되는 것이고,
  2.  없다면 'dongle' 이라고 하는 객체의 클래스인 'Person' 안에 sum이라고 하는 method가 있는지 확인하고 있다면 그것을 실행하게 되는 것이다.

dongle의 sum 메소드를 호출하여 출력

 

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