구조체(Struct)
구조체는 C나 자바에 나오는 구조체와 동일하다.
구조체를 사용하는 이유는 무엇일까?
나는 일종의 그룹핑이라고 생각한다.
우리는 일례로 클래스에대해 알아볼때 의미의 그룹핑으로 클래스를 나눈다는 것을 배웠다.
구조체는 클래스와 동일하다.
다만 복잡하게 사용되지 않는 변수들의 집합에 사용하는 것이 구조체 이다.
만일 몇가지의 변수만을 사용하는 경우 클래스를 사용하면
자원의 낭비라고 할 수 있다.
C#에서는 작은 데이터(몇가지의 변수)를 처리할 때 사용되어진다.
그럼 C#에서의 구조체 구문을 알아보자.
[public] struct [구조체명]
{
생성자
멤버변수
멤버메소드
}
구문만을 살펴보면 클래스와 동일하다고 할 수 있다.
다만 위에 설명한대로 복잡한 로직이 아닌 몇가지의 간단한 로직을 빠르게 처리할 때
사용하면 된다.
클래스 vs 구조체
참조형식 vs 값형식
new 인스턴스 vs new를 사용하지 않고 인스턴스
힙 참조영역 vs 스택 값영역
생성자
디폴트 생성자를 명시적으로 선언하면 안된다.
다만 오버로딩은 가능하다.