JavaScript

정적 λ©”μ„œλ“œ(Static Method)와 μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œ(Instance Method)

kelly09 2024. 6. 16. 22:03

🍰 정적 λ©”μ„œλ“œ

  • 클래슀 λ ˆλ²¨μ—μ„œ μ •μ˜λ¨
  • 클래슀 이름을 톡해 직접 ν˜ΈμΆœν•  수 있음
  • 클래슀의 μΈμŠ€ν„΄μŠ€ 없이도 싀행될 수 있음
  • 객체의 μƒνƒœμ™€ λ¬΄κ΄€ν•œ 연산을 μˆ˜ν–‰ν•  λ•Œ μœ μš©ν•¨
  • this ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•  수 μ—†μŒ
class MyClass {
    static staticMethod() {
        console.log('This is a static method.');
    }
}

// 정적 λ©”μ„œλ“œ 호좜
MyClass.staticMethod(); // This is a static method.

🍰 μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œ

  • 객체 λ ˆλ²¨μ—μ„œ μ •μ˜λ¨
  • νŠΉμ • 객체의 μΈμŠ€ν„΄μŠ€λ₯Ό 톡해 호좜됨
  • 객체의 μƒνƒœλ₯Ό μ‘°νšŒν•˜κ±°λ‚˜ λ³€κ²½ν•˜λŠ” 데 μ‚¬μš©λ¨
  • this ν‚€μ›Œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ ν˜„μž¬ 객체에 μ ‘κ·Όν•  수 있음
  • 객체의 μƒνƒœμ™€ κ΄€λ ¨λœ 행동을 μ •μ˜ν•  λ•Œ ν•„μˆ˜μ μž„
  • λ‹€ν˜•μ„±μ„ 지원함, μ˜€λ²„λΌμ΄λ”©μ΄ κ°€λŠ₯함
class MyClass {
    instanceMethod() {
        console.log('This is an instance method.');
    }
}

// 클래슀의 μΈμŠ€ν„΄μŠ€ 생성
const myInstance = new MyClass();

// μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œ 호좜
myInstance.instanceMethod(); // This is an instance method.