[javascript] 정적 메서드와 인스턴스 메서드의 차이점

자바스크립트에서는 정적 메서드인스턴스 메서드를 사용하여 객체 지향 프로그래밍을 구현할 수 있습니다. 두 메서드 유형은 서로 다른 목적과 사용 방법을 가지고 있습니다.

정적 메서드

정적 메서드는 클래스 전체에 적용되는 메서드입니다. 이 메서드는 클래스의 인스턴스를 생성하지 않아도 사용할 수 있으며, 클래스의 인스턴스에 영향을 주지 않습니다. 정적 메서드는 static 키워드를 사용하여 정의됩니다.

예를 들어, 다음은 Math 클래스의 정적 메서드인 Math.abs()의 사용 예시입니다.

console.log(Math.abs(-1)); // 출력: 1

인스턴스 메서드

반면에, 인스턴스 메서드는 클래스로부터 생성된 각 인스턴스마다 별도로 존재하는 메서드입니다. 이 메서드는 해당 클래스의 인스턴스를 통해 호출되며, 해당 인스턴스 내의 속성에 접근할 수 있습니다.

다음은 String 클래스의 인스턴스 메서드인 toUpperCase()의 사용 예시입니다.

let str = "hello";
console.log(str.toUpperCase()); // 출력: "HELLO"

결론

정적 메서드와 인스턴스 메서드는 객체 지향 프로그래밍에서 유용하게 활용됩니다. 정적 메서드는 클래스와 관련이 있으며 인스턴스를 생성하지 않아도 호출할 수 있습니다. 반면에 인스턴스 메서드는 각 인스턴스에 대해 별도로 동작하며, 해당 인스턴스의 상태를 변경하거나 접근할 수 있습니다.

이 두 메서드 유형을 적절히 활용하여 프로그램의 구조를 명확하게 유지하고, 재사용 가능한 코드를 작성할 수 있습니다.

참고 자료 - MDN web docs