리터럴(Literal)

  • 출처 : https://ko.wikipedia.org/wiki/%EB%A6%AC%ED%84%B0%EB%9F%B4
  • 컴퓨터 과학 분야에서 리터럴(literal)이란 소스 코드의 고정된 값을 나타내는 표기법
  • 정수, 부동소수점 숫자, 문자열, 불린(boolean)등 기본적인 값
    • 정수형 : sbyte, byte, short, ushort, int, uint, long, ulong, decimal(10진수)
    • 문자형 : char, string
    • 실수형 : float, double
    • 불린형 : boolean
  • 값 그 자체
1           //정수(integer)
1.5f        //실수(float)
"글자"      //문자열(string)
true        //불린(boolean)
false       // 불린(boolean)

객체(Object)

  • 사물, 물체
  • 일종의 리터럴(literal)의 집합이라고 보아도 무방
사람 a = new 사람();        //'a'라는 사람이 있습니다.
a. = 170;                 //키가 170입니다.
a.몸무게 = 60;              //몸무게가 60입니다.
a.나이 = 20;                //나이가 20입니다.
a.성별 = "남";              //성별이 남자 입니다.
a.학생 = true;              //학생이 맞습니다(참, true)

객체형 데이터(Object data type)

  • 리터럴(literal)이 아닌 거의 대부분의 데이터
  • 값 자체가 아닌 객체(object)로서 새로 만들때 생성자(new)등이 필요
  • 변수나 상수는 값 자체(리터럴, literal)가 아닌 객체를 참조하는 주소를 보유하게 됨
new 사람();
new Animation();
new Animator();
new GameObject();

참조(Reference)

  • https://ko.wikipedia.org/wiki/%EC%B0%B8%EA%B3%A0
  • 한 객체가 다른 객체와의 연결 수단으로 작용하는 객체 간의 관계
  • 리터럴이 아닌 객체는 그 자체가 아닌 객체가 있는 주소(address)를 참조(reference)함
  • 참조를 가져오는 방법에는 여러가지가 있음
사람 a = new 사람(); 
//'a'라는 사람을 담을 수 있는 변수에 새로 '사람'을 만들어 그의 주소를 참조

 디미디_A = 대한민국.경기도.의왕시.계원예술대학교.디지털미디어디자인과.A;
//'디미디_A반' 이라는 반을 담을 수 있는 변수에 '계원예술대학교.디지털미디어디자인과.A반'의 주소를 참조
  • 값 그 자체가 아닌 객체는 그 자체를 저장할수 없음

참조를 가져오는 방법

  • public 변수를 생성하여 객체를 inspector에 직접 드래그 드롭으로 지정
  • GameObject.FindGameObjectsWithTag(“태그명”) : 해당 태그명을 가지고 있는 모든 오브젝트를 찾음. GameObject[] 형식
  • GameObject.FindWithTag(“태그명”) : 해당 태그명을 가지고 있는 오브젝트 1개
  • GameObject.Find(“오브젝트명”) : 해당 오브젝트 이름을 가지고 있는 오브젝트 1개

필드(Field)

  • 클래스 또는 구조체에서 직접 선언되는 모든 형식의 값이 저장되는곳
  • 필드는 상수와 변수로 나눌 수 있다.

상수(Constant)

const int a = 10;
//integer형 상수 a(상수의 이름)는 10 입니다.

const 사람 b = new 사람();
//사람형 상수 b(상수의 이름)는 '사람'이라는 객체(object)의 참조(reference)를 가지고 있습니다.

const Animation c = new Animation();
//Animation형 상수 c(상수의 이름)는 'Animation'이라는 객체(object)의 참조(reference)를 가지고 있습니다.

변수(Variable)

  • 변하는 값. 변하지 않는값인 상수(constant)와 반대개념
int a = 10;
//integer형 변수 a(변수의 이름)는 10 입니다.

a = 20;
//a는 20으로 바뀌었습니다. (더이상 10이 아님)

정리

  • 값은 리터럴(literal)과 오브젝트(Object)로 크게 나눌 수 있다
  • 필드(Field)는 값을 저장하는 곳으로 리터럴이나 오브젝트의 참조(reference)를 저장한다
  • 필드는 변하지 않는 상수(constant)와 변하는 변수(variable)로 크게 나눌 수 있다