값 유형 및 참조 유형

Value type and reference type

컴퓨터 프로그래밍에서 데이터 유형은 값 유형참조 유형의 두 가지 범주로 나눌 수 있습니다.값 유형의 값은 실제 값입니다.참조 유형의 값은 다른 [1][2]값에 대한 참조입니다.

언어별 분류

언어 값 유형 참조 유형
C++[3] 부울란, 문자, 정수, 부동소수점수, 클래스(문자열, 리스트, 맵, 세트, 스택, 큐 포함), 열거 참조, 포인터
자바[4] 부울란, 문자, 정수, 부동 소수점 수 배열, 클래스(불변의 문자열, 목록, 사전, 세트, 스택, 큐, 열거 포함), 인터페이스, 늘 포인터
C#[5] 구조물(부울란, 문자, 정수, 부동 소수점 숫자, 지정 시점, 즉Date Time(날짜 시간), 옵션(예:특수한 순서<T>), 열거 클래스(불변의 문자열, 배열, 튜플, 리스트, 딕셔너리, 세트, 스택, 큐 포함), 인터페이스, 포인터
재빠르다[6][7] 구조(부울, 문자, 정수, 부동 소수점 수, 고정 소수점 수, 가변 문자열, 튜플, 가변 배열, 가변 사전, 가변 집합 포함), 열거(옵션 포함) 및 기타 값 유형을 구성하는 사용자 정의 구조 및 열거. 함수, 폐쇄, 클래스
파이썬[8] 클래스(불변의 불란, 불변의 정수, 불변의 부동 소수점 수, 불변의 복소수, 불변의 문자열, 바이트 문자열, 불변의 바이트 문자열, 불변의 튜플, 불변의 범위, 불변의 메모리 뷰, 리스트, 사전, 세트, 불변의 세트, 늘 포인터 포함)
자바스크립트[9] 불변의 부란, 불변의 부동소수점수, 불변의 정수(bigint), 불변의 문자열, 불변의 기호, 정의되지 않음, null 객체(함수, 배열, 유형 배열, 집합, 지도, 취약 집합 및 취약 맵 포함)
OCaml[10][11] 불변의 문자, 불변의 정수, 불변의 부동소수점수, 불변의 튜플, 불변의 열거(불변의 단위, 불변의 부란, 불변의 리스트, 불변의 옵션 포함), 불변의 예외, 불변의 형식 문자열 배열, 불변 문자열, 바이트 문자열, 사전(포인터 포함)

복싱과 언박싱

값 유형과 참조 유형을 구별하는 프로그래밍 언어는 일반적으로 값 유형의 일부 또는 전부를 참조 유형으로 묶는 boxing이라는 메커니즘을 제공합니다.이를 통해 참조 유형을 기대하는 컨텍스트에서 값 유형을 사용할 수 있습니다.역방향 프로세스(값 유형을 언랩하는 프로세스)는 언박스로 알려져 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Brown, Erik E. (2006). Windows Forms in Action. Shelter Island, New York: Manning. p. 703. ISBN 978-1-932-39465-8.
  2. ^ Stephens, Rod (2014). C# 5.0 Programmer's Reference. Indianapolis, Indiana: John Wiley & Sons. p. 57. ISBN 978-1-118-84728-2.
  3. ^ "Type - cppreference.com". en.cppreference.com.
  4. ^ "Chapter 4. Types, Values, and Variables". docs.oracle.com.
  5. ^ "C# Keywords". docs.microsoft.com.
  6. ^ "Structures and Classes — The Swift Programming Language (Swift 5.2)". docs.swift.org.
  7. ^ "Closures — The Swift Programming Language (Swift 5.2)". docs.swift.org.
  8. ^ "Built-in Types — Python 3.8.2rc1 documentation". docs.python.org.
  9. ^ "ECMAScript® 2019 Language Specification". www.ecma-international.org.
  10. ^ "Chapter 24 The core library". caml.inria.fr.
  11. ^ "Modifiable Data Structures". caml.inria.fr.