[javascript] 정적 메서드와 인스턴스 메서드의 차이점
자바스크립트에서는 정적 메서드와 인스턴스 메서드를 사용하여 객체 지향 프로그래밍을 구현할 수 있습니다. 두 메서드 유형은 서로 다른 목적과 사용 방법을 가지고 있습니다.
정적 메서드
정적 메서드는 클래스 전체에 적용되는 메서드입니다. 이 메서드는 클래스의 인스턴스를 생성하지 않아도 사용할 수 있으며, 클래스의 인스턴스에 영향을 주지 않습니다. 정적 메서드는 static
키워드를 사용하여 정의됩니다.
예를 들어, 다음은 Math
클래스의 정적 메서드인 Math.abs()
의 사용 예시입니다.
console.log(Math.abs(-1)); // 출력: 1
인스턴스 메서드
반면에, 인스턴스 메서드는 클래스로부터 생성된 각 인스턴스마다 별도로 존재하는 메서드입니다. 이 메서드는 해당 클래스의 인스턴스를 통해 호출되며, 해당 인스턴스 내의 속성에 접근할 수 있습니다.
다음은 String
클래스의 인스턴스 메서드인 toUpperCase()
의 사용 예시입니다.
let str = "hello";
console.log(str.toUpperCase()); // 출력: "HELLO"
결론
정적 메서드와 인스턴스 메서드는 객체 지향 프로그래밍에서 유용하게 활용됩니다. 정적 메서드는 클래스와 관련이 있으며 인스턴스를 생성하지 않아도 호출할 수 있습니다. 반면에 인스턴스 메서드는 각 인스턴스에 대해 별도로 동작하며, 해당 인스턴스의 상태를 변경하거나 접근할 수 있습니다.
이 두 메서드 유형을 적절히 활용하여 프로그램의 구조를 명확하게 유지하고, 재사용 가능한 코드를 작성할 수 있습니다.