📌 구조체(struct)
구조체는 사용자 정의 데이터 유형으로 c#에서 구조체는 일반 변수와 같이 값 형식의 데이터 형식이다.
📖 구조체의 특징
- 구조체는 Value type을 정의하기 위해 사용된다.
- 구조체는 상속이 불가능하다.
- 구조체는 인터페이스를 구현할 수 있다.
대부분 Class와 비교되는 특징을 가진다. Class의 경우 Reference Type이며 상속이 가능하다.
Class와 구조체의 가장 큰 차이점은
Class의 경우 좀 더 복잡한 데이터와 행위들을 정의하는 곳에 사용되고
구조체의 경우 상대적으로 가벼운 데이터와 행위들을 정의하는데 사용된다.
📖 구조체의 정의
struct Book
{
// 필드
public string author;
public int price;
// 생성자
public Book( string author, int price )
{
this.author = author;
this.price = price;
}
// 호출
public void displayField()
{
Console.WriteLine($"author : {author}\nprice: {price}");
}
}
책의 정보를 담는 구조체를 정의하였다.
📖 구조체 변수 선언
// 구조체 변수 선언
// 1.
Book book;
// 2.
Book book2 = new Book( "park", 6000 );
// 3.
Book[] book_Array = new Book[1];
// 구조체 필드에 값 할당
// 1.
book.author = "choi";
book.price = 7500;
// 2.
// 3.
book_Array[0].author = "kim";
book_Array[0].price = 5500;
// 구조체 필드 값 호출
// 1.
book.displayField();
// 2.
book2.displayField();
// 3.
foreach (var item in book_Array)
{
Console.WriteLine($"author: {item.author}\nprice: {item.price}");
}
[호출]
author : choi
price: 7500
author : park
price: 6000
author: kim
price: 5500
3가지 방식으로 구조체 변수를 선언하고 필드에 값을 할당하고 화면상에 출력하였다.
1번째 방법은 직접 필드 변수에 값을 할당하고 호출하였고
2번째 방법은 생성자를 통하여 필드 변수에 값을 할당하고 호출하였고
(변수 선언과 동시에 값을 할당하였으므로 구조체 필드에 값 할당부분이 비어있다.)
3번째 방법은 구조체를 통한 배열을 생성 후 필드 변수에 값을 할당하여 foreach문을 통해 값을 출력하였다.
'C#' 카테고리의 다른 글
Day25_함수 / 매개 변수 (0) | 2023.03.21 |
---|---|
Day24_함수 / 함수의 기본 (0) | 2023.03.16 |
Day22_문자열(String) (0) | 2023.03.16 |
Day21_배열(Array) (1) | 2023.03.16 |
Day20_for문 (0) | 2023.03.14 |