JavaScript OOP에서 메서드 집합으로서의 클래스

때로는 유사한 주제의 메서드를 그룹화하기 위해 클래스를 사용합니다. 이 경우 일반적으로 해당 클래스의 객체는 하나만 생성되며, 그 메서드들은 다양한 상황에서 여러 번 사용됩니다.

예제를 통해 살펴보겠습니다. 숫자 배열을 조작하는 클래스를 만들어 보겠습니다:

javascriptclass ArrHelper {
  
}

이 클래스의 각 메서드는 매개변수로 배열을 받아 주어진 연산을 수행할 것입니다. 예를 들어, 다음과 같은 메서드들이 있다고 가정해 봅시다:

javascriptclass ArrHelper {
  getSum(arr) {
    // 요소들의 합
  }
  
  getAvg(arr) {
    // 산술 평균
  }
}

이 메서드들의 구현을 작성해 보겠습니다:

javascriptclass ArrHelper {
  getSum(arr) {
    let res = 0;
    
    for (let num of arr) {
      res += num;
    }
    
    return res;
  }
  
  getAvg(arr) {
    if (arr.length > 0) {
      let sum = this.getSum(arr);
      return sum / arr.length;
    } else {
      return 0;
    }
  }
}

이 메서드들을 어떻게 사용할지 살펴보겠습니다. 우리 클래스의 객체를 생성해 보겠습니다:

javascriptlet arrHelper = new ArrHelper;

우리 객체를 사용하여 다양한 배열들의 숫자 합계를 찾아봅시다:

javascriptlet sum1 = arrHelper.getSum([1, 2, 3]);
console.log(sum1);

let sum2 = arrHelper.getSum([3, 4, 5]);
console.log(sum2);
Задание 1

문자열의 유효성을 검사하는 Validator 클래스를 만드세요.

Задание 2

클래스에 문자열이 올바른 email인지 확인하는 isEmail 메서드를 추가하세요.

Задание 3

클래스에 문자열이 올바른 도메인 이름인지 확인하는 isDomain 메서드를 추가하세요.

Задание 4

클래스에 문자열이 숫자만 포함하는지 확인하는 isNumber 메서드를 추가하세요.