본문 바로가기
  • 삽질하는 자의 블로그
공부이야기

1. 인스턴스화... 대체 넌 누구냐

by 이게뭐당가 2022. 9. 15.

인스턴스화라는 말이 너무나 많이 나온다.

 

찾아바도 된통 모를 소리들만 가득하다.

 

인스턴스화가 무엇이고, 대체 왜 사용하는가! 

 

드디어 명쾌한 답을 낸것같다.

 

인스턴스화는 [새 메모리 주소를 할당하는 것] = 즉, 값을 복사해 새집에 넣어주고 사용하는것이다.

 

대체 왜 인스턴스화를 하는가?

 

우선, 나의 조건은 이랬다.

 

데이터베이스의 쿼리에서, 사용자함수(클래스)를 만들고,

find에는 인스턴스화 하지 않고 사용

insert에는 인스턴스화를 하고 사용

 

const post = Post(x,y,z)

await post.save()

 

const userDatas = Post.fetchAll()

 

인스턴스화는 값의 변질을 막고, 휘발되는 것을 막아주며, 계속해서 우려먹을 값이라면 굳이 따로 데이터를 불러오지 않고 그냥 두고 사용하는데에 목적이 있다.

 

insert 하는 클래스에 인스턴스화? 이해하겠다.

  데이터베이스에 넣을 값이므로, 어디든 재사용 가능성이 있고, 값의 변질이 일어나면 안되니까

find에 인스턴스화를 하지 않는다? 이게 이해가 되지 않았다.

 

결론부터 말하자면, 사실상 인스턴스화는 이루어진다고 보았다.

 

FIND를 사용하여, 값을 불러오면, (적어도 이 수업 내에서는) 변수에 저장하여 사용하였다.

이게 인스턴스화를 하는것이 아니면 무엇인가?

 

INSERT를 할때는, 방법적으로는, 사실상 값을 따로 저장하고 데이터베이스에 집어넣을 이유가 없지만,

위에 나열한 이유 때문에 인스턴스화 후에 진행한것이고,

FIND는 인스턴스화를 두번하는 중복을 피한것 뿐이였다.

 

마음이 가볍다!

 

댓글