블로깅 (코드스테이츠)

thdy3k·2023년 10월 27일
0

목표

  1. 원시 자료형과 참조 자료형의 종류와 특징
  2. 얕은 복사와 깊은 복사

과정

1.원시 자료형(primitive data type)

원시 자료형은 컴퓨터 과학에서 프로그래밍 언어가 제공하는 자료형 중 하나다. 원시형은 또한 내장형이나 기본형으로도 불린다. 언어와 그 구현에 따라서, 원시형은 메모리 상에 일대일로 대응되는 개체를 가질 수도 있다. 일반적으로 원시형은 언어 구조체 중 가장 빨리 연산처리된다.

2.참조 자료형(Reference Type)

참조 자료형은 기본 자료형 을 기초로 하여 만들어진 자료형이다. 대표적으로 자바에서 제공하는 String, Array, Map, Set 등과 같은 클래스(Class) 와 인터페이스(Interface) , 열거형(Enum) 이 여기에 해당한다.

===
둘의 특징을 정리하자면? 원시 자료형이 할당될 때에는 변수에 값(value) 자체가 담기고, 참조 자료형이 할당될 때는 보관함의 주소(reference)가 담깁니다.
그래서 참조 자료형은 기존에 고정된 크기의 보관함이 아니라, 동적으로 크기가 변하는 특별한 보관함을 사용할 수 있습니다.

3.얕은 복사(Shallow Copy)

객체의 얕은 복사는 복사본의 속성이 복사본이 만들어진 원본 객체와 같은 참조 (메모리 내의 같은 값을 가리킴)를 공유하는 복사입니다. 따라서 원본이나 복사본을 변경하면, 다른 객체 또한 변경될 수 있습니다. 이러한 동작은 원본과 복사본이 완전히 독립적인 깊은 복사의 동작과 대조적입니다

4.깊은 복사(Deep Copy)

실제 값을 메모리 공간에 복사(힙 영역)하기 때문에 참조하고 있는 실제 값이 다르다.

  • 데이터 자체를 통째로 복사한다.
  • 복사된 두 객체는 완전히 독립적인 메모리를 차지한다.
  • value type의 객체들은 깊은 복사를 하게 된다.

회고

원시자료형과 참조자료형을 생각해보면, 원시자료형은 서랍의 각각에 값이 저장되고, 참조자료형은 하이퍼링크나 책갈피 기능과 비슷하다고 생각이 든다.
함수의 범위들{}을 잘 따져봐야겠다는 생각이 든다.
들여쓰기가 무척 중요하다는...
페어분께서 주석과 들여쓰기는 필수라는데, 아직 익숙지 않다. 나중에 블로그에 쓰고 정리한것을 읽어봐야되기도 하겠다.

0개의 댓글