ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • TIL_44(메모리)
    TIL 2023. 10. 5. 21:15

    23.10.05. 44차

     

    오늘은 새로운 팀이 짜여졌다.

     

    오전에는 팀원들과 팀 규칙과 이름 팀장 선발등 팀관련 회의를 진행하였고, 오후에는 저번에 미처 못들었던 강의를 들었다.

     

    8시부터 1시간 가량 수업이 있었는데 오늘의 내용은 메모리에 관련된 것이었다.

     

    예를 들어

    int x =10;

    int y = x;

    int x =20;

    일때 x의 값은 마지막에 선언된 20이지만, y의 값은 10이 된다.

    반면

    person.x = "10";

    pserson.y = x;

    person.x = "11";

    일때는 person.x 와 person.y 둘다 11이 된다.

     

    이는 참조를 사용하는가 사용하지 않는가에 대한 이유인데,

     

    int의 경우에는 선언된 값을 참조하는 것이 아닌 메모리 안의 값을 복사하여 가져오지만

    class인 person의 경우에는 person.y가 person.x의 메모리 값을 복사하는 것이 아닌, 안의 값을 참조하고 있기때문에 person.x 의 값이 바뀐다면 실시간으로 person.y의 값도 바뀌게 된다.

     

    이때 class에 저장되는 내용들은 메모리 구역중에서도 힙이라는 곳에 저장되는 반면 int의 경우 힙이 아닌 그보다 위의 stack에 저장 되는 듯 하다.(stack이 맞는지 정확한 명칭은 헷갈린다.)

     

    힙의 경우에는 용량은 적지만 메모리 보존성이 높은것 같고, stack의 경우 용량은 많지만 유동성이 좀더 높은 느낌인 것 같다.

     

    여태까지는 로직을 짜며 메모리에 관련된 부분은 고려하지 않고 설계했었는데 앞으로는 메모리에 관련된 부분도 좀더 고려해가며 설계를 할 필요성을 느끼게 되었다.

    'TIL' 카테고리의 다른 글

    TIL_46(강의 마무리 및 개인과제 구상)  (1) 2023.10.10
    TIL_45(강의듣기)  (0) 2023.10.06
    TIL_43(팀 프로젝트 마무리)  (0) 2023.10.04
    TIL_42(팀 프로젝트 점검)  (1) 2023.10.02
    TIL_41(깃허브 conflict 해결)  (0) 2023.09.27
Designed by Tistory.