답변 3
21
메소드는 객체의 인스턴스를 만들어야만 사용이 가능하지만
스태틱은 객체의 인스턴스를 만들지 않아도 사용이 가능합니다.
코드를 보시면
const temp = new User() 이런식으로 선언하고난 뒤
temp.(메소드) 이런식으로 호출해야만 쓸 수 있는 것이 메소드고요.
User.(스태틱) 이런식으로 호출할 수 있는 것이 스태틱입니다. 스태틱은 temp.(스태틱)을 형태로도 호출이 가능합니다.
그러면 무조건 스태틱으로 선언해야 하는 것 아니냐는 질문을 할 수 있겠는데,
제가 생각하기에는 그건 아니구 둘을 구분짓는 건 오용을 막기위함이 아닐까 싶네요
인스턴스가 존재해야만 기능이 원할하게 지원되는 함수인데 스태틱으로 만들어서 프로그래머의 실수로 호출을 해서 발생되는
에러를 미연에 방지하는 것이죠.
스태틱은 인스턴스와 무관하게 공용적으로 자주 쓰이는 함수가 필요할 때 쓰이는 것 같습니다.
0
0