값 유형 및 참조 유형
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이라는 메커니즘을 제공합니다.이를 통해 참조 유형을 기대하는 컨텍스트에서 값 유형을 사용할 수 있습니다.역방향 프로세스(값 유형을 언랩하는 프로세스)는 언박스로 알려져 있습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ Brown, Erik E. (2006). Windows Forms in Action. Shelter Island, New York: Manning. p. 703. ISBN 978-1-932-39465-8.
- ^ Stephens, Rod (2014). C# 5.0 Programmer's Reference. Indianapolis, Indiana: John Wiley & Sons. p. 57. ISBN 978-1-118-84728-2.
- ^ "Type - cppreference.com". en.cppreference.com.
- ^ "Chapter 4. Types, Values, and Variables". docs.oracle.com.
- ^ "C# Keywords". docs.microsoft.com.
- ^ "Structures and Classes — The Swift Programming Language (Swift 5.2)". docs.swift.org.
- ^ "Closures — The Swift Programming Language (Swift 5.2)". docs.swift.org.
- ^ "Built-in Types — Python 3.8.2rc1 documentation". docs.python.org.
- ^ "ECMAScript® 2019 Language Specification". www.ecma-international.org.
- ^ "Chapter 24 The core library". caml.inria.fr.
- ^ "Modifiable Data Structures". caml.inria.fr.