using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public struct PersonStruct
{
public int age;
}
public class PersonClass
{
public int age;
}
public class Test : MonoBehaviour
{
void Start()
{
// struct는 값 타입이기 때문에 내부적으로 new 연산자를 자동으로 호출한다.
PersonStruct personStruct1;
personStruct1.age = 10;
// new 연산자를 직접 써줘도 된다.
PersonStruct personStruct2 = new PersonStruct();
personStruct2.age = 20;
// 클래스는 항상 new 연산자를 이용해 생성해야 한다.
PersonClass personClass = new PersonClass();
personClass.age = 30;
}
}
C# 구조체와 클래스 차이점
구조체는 값타입이라는것과 클래스는 참조 타입이라는 점에서 차이점이 있다. 구조체를 사용하는이유는 클래스 사용시에 참조로인한 시간적 비용적 낭비를 없애기 위해 사용한다. 구조체는 값 타입이기에 직접적으로 메모리에 접근하므로 낭비를 막을수 있다. C#에서는 크기가 작고 단순한 함수들을 포함하는 선, 컬러 들과 같은 그래픽요소등을 구조체로 정의해두었다. 또한 구조체와 클래스의 다른점은 구조체는 상속자체가 불가능하다.
'프로그래밍 언어 > C#' 카테고리의 다른 글
C# 상속 (0) | 2019.12.05 |
---|---|
C# 델리게이트와 이벤트 (0) | 2019.12.05 |
C# 얕은 복사와 깊은 복사 (0) | 2019.12.04 |
C# Queue와 Stack 사용방법 및 차이점 (1) | 2019.12.04 |
C# Hashtable과 Dictionary 사용방법 및 차이점 (0) | 2019.12.04 |