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 메서드를 추가하세요.