인프런 커뮤니티 질문&답변

ㅇㅇ님의 프로필 이미지
ㅇㅇ

작성한 질문수

따라하며 배우는 노드, 리액트 시리즈 - 기본 강의

노드 리액트 기초 강의 #13 Auth 기능 만들기

methods, statics 차이

작성

·

323

14

schema.methos랑 schema.statics의 차이가 뭔가요??

답변 3

21

메소드는 객체의 인스턴스를 만들어야만 사용이 가능하지만 

스태틱은 객체의 인스턴스를 만들지 않아도 사용이 가능합니다. 

코드를 보시면 

const temp = new User() 이런식으로 선언하고난 뒤 

temp.(메소드) 이런식으로 호출해야만 쓸 수 있는 것이 메소드고요.

User.(스태틱) 이런식으로 호출할 수 있는 것이 스태틱입니다. 스태틱은 temp.(스태틱)을 형태로도 호출이 가능합니다. 

그러면 무조건 스태틱으로 선언해야 하는 것 아니냐는 질문을 할 수 있겠는데, 

제가 생각하기에는 그건 아니구 둘을 구분짓는 건 오용을 막기위함이 아닐까 싶네요 

인스턴스가 존재해야만 기능이 원할하게 지원되는 함수인데 스태틱으로 만들어서 프로그래머의 실수로 호출을 해서 발생되는 

에러를 미연에 방지하는 것이죠.

스태틱은 인스턴스와 무관하게 공용적으로 자주 쓰이는 함수가 필요할 때 쓰이는 것 같습니다. 

0

설명 좋아용

0

ㅇㅇ님의 프로필 이미지
ㅇㅇ
질문자

알기쉽게 설명해주셔서 감사합니다!

ㅇㅇ님의 프로필 이미지
ㅇㅇ

작성한 질문수

질문하기