본문 바로가기

Node.js

[Node.js] ➍ 모듈(module) 사용법 | 클래스(class)

반응형

 

 

 

 

점수를 다루는 'Score' 클래스 만들기

먼저, 국어와 영어 점수를 받아 합계와 평균을 계산하는 Score 클래스를 만들어보자

class Score {
  constructor(kor, eng) {
    this.kor = kor;
    this.eng = eng;
  }

  sum() {
    return this.kor + this.eng;
  }

  avg() {
    return this.sum() / 2;
  }
}

 

이 클래스는 다음과 같은 기능을 구현한다.

 

1. 생성자 (constructor): 국어(kor)와 영어(eng) 점수를 받아 객체를 생성한다.

2. sum(): 국어와 영어 점수의 합계를 반환한다.

3. avg(): 국어와 영어 점수의 평균을 반환한다.

 

반응형

 

클래스를 모듈로 내보내기

그 다음으로, 이 Score 클래스를 다른 파일에서도 사용할 수 있도록 내보내보자.

module.exports = { Score };

 

exports를 사용하면 이제 외부에서 Score 클래스를 사용할 수 있게 된다.

 

 

 

 

 

'Score' 클래스 사용하기

먼저 m1이라는 이름의 상수에 Score 클래스가 내보낸 모듈을 가져온다.

const m1 = require('./m1');

 

이제 Score 클래스를 사용하여 김 학생과 이 학생의 점수를 저장한 객체를 생성하고, 합계와 평균을 출력한다.

const kim = new m1.Score(80, 90);
const lee = new m1.Score(99, 87);

console.log(kim.sum(), kim.avg());
console.log(lee.sum(), lee.avg());

 

 

출력 결과는

170 85
186 93

 

 

 

 

 

 

반응형