Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript 클래스에서 정적(Static) 메서드를 정의하고 호출하는 방법

JavaScript 클래스에 정적 메서드 할당하기

JavaScript에서 클래스에 정적 메서드(static method)를 정의하는 방법은 아주 간단합니다. 메서드 이름 앞에 static 키워드를 붙이기만 하면 됩니다.

정적 메서드의 가장 큰 특징은 클래스를 인스턴스화하지 않고도 직접 호출할 수 있다는 점입니다. 즉, new 키워드로 객체를 만들 필요 없이 클래스명.메서드명() 형태로 바로 사용할 수 있습니다.

정적 메서드의 주요 특징

  • static 키워드를 메서드 선언 앞에 붙여 정의합니다.
  • 클래스 이름을 통해 직접 호출하며, 인스턴스 생성이 필요 없습니다.
  • 인스턴스의 개별 데이터(this.fname 등)에는 접근할 수 없습니다.
  • 유틸리티 함수나 공통 기능을 묶어 관리할 때 유용합니다.

예제 코드

아래는 JavaScript 클래스에 정적 메서드를 할당하고 활용하는 전체 예제입니다.

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>정적 메서드 예제</title>
<style>
    body {
        font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    }
    .result {
        font-size: 18px;
        font-weight: 500;
        color: rebeccapurple;
    }
</style>
</head>
<body>
<h1>JavaScript 클래스의 정적 메서드</h1>
<div class="result"></div>
<button class="Btn">CLICK HERE</button>
<p>위 버튼을 클릭하면 testClass의 정적 메서드로 두 숫자를 더합니다.</p>
<script>
    let resEle = document.querySelector(".result");
    let BtnEle = document.querySelector(".Btn");

    class testClass {
        constructor(fname, lname) {
            this.fname = fname;
            this.lname = lname;
        }
        // static 키워드로 정적 메서드 정의
        static add(a, b) {
            resEle.innerHTML = a + " + " + b + " = " + (a + b);
        }
    }

    // 인스턴스 생성 없이 클래스 이름으로 직접 호출
    BtnEle.addEventListener("click", () => {
        testClass.add(22, 44);
    });
</script>
</body>
</html>

코드 설명

testClass 내부의 add() 메서드 앞에 static 키워드가 붙어 있으므로, 이 메서드는 정적 메서드가 됩니다. 버튼 클릭 시 testClass.add(22, 44)처럼 객체를 생성하지 않고 곧바로 호출하여 두 수의 합을 화면에 출력합니다.

실행 결과

위 코드를 실행하면 다음과 같이 동작합니다.

초기 화면에는 제목, 결과 영역, 그리고 'CLICK HERE' 버튼이 표시됩니다.

JavaScript 클래스에서 정적(Static) 메서드를 정의하고 호출하는 방법

'CLICK HERE' 버튼을 클릭하면 정적 메서드 add()가 실행되어 다음과 같은 계산 결과가 화면에 나타납니다.

JavaScript 클래스에서 정적(Static) 메서드를 정의하고 호출하는 방법