자바스크립트 클래스 메서드 (Class Methods)

In JavaScript, class methods are functions defined on a class that can be called without instantiating the class. Unlike instance methods, which are called on an instance of a class, class methods are called on the class itself.

To define a class method in JavaScript, you can use the static keyword. This keyword indicates that the method is attached directly to the class and not to the instances of the class. Let’s look at an example:

class Circle {
  constructor(radius) {
    this.radius = radius;
  }

  static calculateArea(radius) {
    return Math.PI * radius * radius;
  }
}

const circle1 = new Circle(3);
console.log(circle1.calculateArea()); // Error: circle1.calculateArea is not a function
console.log(Circle.calculateArea(3)); // 28.274333882308138

In the example above, we have a Circle class with a constructor method and a calculateArea class method. The constructor initializes the radius property of the instance, while the calculateArea method calculates and returns the area of a circle.

Note that when we try to call the calculateArea method on an instance of the Circle class (circle1), we get an error because class methods are not accessible on instances. However, when we call the calculateArea method directly on the Circle class, it returns the correct result.

Class methods can be useful for performing operations that don’t require any data specific to a particular instance. They provide a way to encapsulate utility functions related to the class.

It’s important to remember that class methods do not have access to the this keyword, because they are not bound to any instance. Therefore, you cannot access instance-specific properties or methods from within a class method.

In conclusion, class methods in JavaScript allow you to define functions that are associated with a class itself rather than its instances. They are called on the class directly and can be useful for encapsulating utility functions or operations that don’t require instance-specific data.