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

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

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

php<?php
  class ArrHelper {
    
  }
?>

이 클래스의 각 메서드는 매개변수로 배열을 받아 지정된 작업을 수행합니다. 예를 들어, 다음과 같은 메서드가 있다고 가정해 보겠습니다:

php<?php
  class ArrHelper {
    public function getSum($arr) {
      // 요소의 합계
    }
    
    public function getAvg($arr) {
      // 산술 평균
    }
  }
?>

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

php<?php
  class ArrHelper {
    public function getSum($arr) {
      $res = 0;
      
      foreach ($arr as $num) {
        $res += $num;
      }
      
      return $res;
    }
    
    public function getAvg($arr) {
      $len = count($arr);
      
      if ($len > 0) {
        $sum = $this->getSum($arr);
        return $sum / $len;
      } else {
        return 0;
      }
    }
  }
?>

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

php<?php
  $arrHelper = new ArrHelper();
?>

우리 객체를 사용하여 다양한 배열의 숫자 합계를 찾아보겠습니다:

php<?php
  $sum1 = $arrHelper->getSum([1, 2, 3]);
  var_dump($sum1);
  
  $sum2 = $arrHelper->getSum([3, 4, 5]);
  var_dump($sum2);
?>
Задание 1

문자열의 정확성을 확인하는 Validator 클래스를 만드세요.

Задание 2

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

Задание 3

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

Задание 4

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