-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
해결됨
인스턴스 생성
23.03.03 17:23 작성 23.03.03 17:30 수정 조회수 324
1
안녕하세요.
클래스 생성자 설정시 ()를 붙여주는 부분에 대해 여쭤보고자 합니다.
인스턴스 생성시에는 class를 지정하여 함수처럼 불러옵니다. 아래와 같이 ()를 붙여서요.
let deque = new Deque()
constructor에서는 함수 형태가 아니라 ()없이 객체를 불러옵니다.
constructor()
{
this.list = new DoublyLinkedList;
}
해쉬 테이블에서는 constructor안에서 for구문을 구동하면서, 어레이를 생성하는데 함수로서 불러옵니다.
constructor()
{
this.arr = [];
for (let i =0; i<10 ; ++i)
{
this.arr[i] = new DoublyLinkedList();
}
이렇게 객체로 불러오는 것과 함수 형태로 ()를 붙여 불러오는 것이 어떤 차이가 있는지 궁금합니다.
지난해 들어보다가 너무 어려워서 자바스크립트와 c++기초를 조금 듣고 와서 나머지 진도를 진행하고 있습니다. 그림을 통해 이해하기 쉽게 만들어주셔서 따라하면서 .. 흥미롭게 배우고 있습니다~
답변을 작성해보세요.
0
감자
지식공유자2023.03.03
안녕하세요 elena님!
인스턴스 생성에 대해서 궁금증이 있으시군요?
어려울 때 쉬는 건 좋은 방법이라고 합니다. (뇌가 잠잘 때 학습한 걸 정리한대요! 그래서 당시에 이해 안가던 것들도 나중에 이해가 된다고 하더라구요?)
질문해주신 인스턴스 생성방법에서
constructor()
{
this.list = new DoublyLinkedList;
}
이렇게 괄호 없이 적어주는 경우 틀린 문법입니다.
new 연산자를 이용할 때는 괄호를 꼭 붙여주셔야 합니다!
(이렇게 new 연산자를 이용해 객체를 생성했다면 객체가 생생됨과 동시에 해당 객체에 작성한 생성자가 호출됩니다.)
영상과 강의자료에서 Queue의 생성자에서는 괄호를 붙였는데 어떤 부분에서 해당 코드가 있었는지 말씀해주실 수 있나요?
감사합니다 :)
답변 2