인스턴스 메서드 (Instance Method)
: 클래스의 인스턴스에서 호출되는 메서드
- 해당 클래스의 각 인스턴스에 대해 개별적으로 존재
- 인스턴스의 데이터(속성)를 조작하거나 접근하는 데 사용
- 클래스의 인스턴스가 생성될 때마다 새로운 메서드가 생성됨
- 클래스의 인스턴스를 통해 호출
`참조 변수.메소드 명()`
class MyClass {
constructor(name) {
this.name = name;
}
greet() {
console.log(`Hello, my name is ${this.name}`);
}
}
const obj = new MyClass('Alice');
obj.greet(); // Hello, my name is Alice
스태틱 메서드 (Static Method)
: 클래스 자체에서 호출되는 메서드
- 객체 생성 없이 호출이 가능한 메소드
- 클래스의 인스턴스와는 독립적임
- 유틸리티 함수나 클래스 수준의 작업을 수행하는 데 사용
- `static` 키워드를 붙여서 만듦
- 클래스 이름을 통해 직접 호출
`클래스 명.메소드 명()`
class MyClass {
static greet() {
console.log('Hello from static method');
}
}
MyClass.greet(); // Hello from static method
인스턴스 메서드 (Instance Method) | 스태틱 메서드 (Static Method) |
클래스의 각 인스턴스에 대해 개별적으로 존재 | 클래스의 인스턴스와는 독립적임 |
인스턴스의 데이터(속성)를 조작하거나 접근하는 데 사용 | 유틸리티 함수나 클래스 수준의 작업을 수행하는 데 사용 |
클래스의 인스턴스를 통해 호출 | 클래스 이름을 통해 직접 호출 |
메소드 내에서 인스턴스 변수 사용⭕ | 메소드 내에서 인스턴스 변수 사용❌ |
객체를 생성해야 ⭕ 인스턴스 메소드를 호출 가능 | 객체를 생성하지 않고도 ❌ 호출 가능 |
Exam ex = new Exam(); ex.example = "예시"; |
Math.random(); |
Classes - JavaScript | MDN
Class는 객체를 생성하기 위한 템플릿입니다. 클래스는 데이터와 이를 조작하는 코드를 하나로 추상화합니다. JavaScript에서 클래스는 프로토타입을 이용해서 만들어졌지만 ES5의 클래스 의미와는
developer.mozilla.org
static - JavaScript | MDN
static 키워드는 클래스의 정적 메서드를 정의합니다.
developer.mozilla.org
정적 메서드와 정적 프로퍼티
ko.javascript.info