자바스크립트 책으로 공부하다가 궁금한게 생겨서요...


책에 js에는 클래스라는 개념은 없고 다른 객체지향언어에서는 클래스라는 개념이 제공되는데



객체를 클래스로부터 찍어내면 객체는 자기만의 데이터를 갖게 되지만 메소드는 클래스에 정의된 메소드를 서로 공유하게 된다



라고 되어있는데 여기서 말하는 데이터는 아마 멤버 변수 일거고.. 메소드는 멤버 함수 말하는거일텐데


궁금한게 객체 생성하면 객체마다 각각 멤버 변수랑 함수를 가지고 있는것 아닌가요?


변수만 각각가지고 함수는 공유하는 형태인가요? 스태틱 함수가 그런 공유하는 개념 아닌가요?


그래서 자바스크립트에서는 프로토타입이라는걸 사용해서 클래스의 함수처럼 여러객체가 공유하는 메소드를 정의할수 있다고 되어있는데..


다른 언어에서 함수가 객체 별로 메소드가 생성되는게 아니라 딱하나만 생성되고 공유되는 방식인가요?