Home C# Class 04
Post
Cancel

C# Class 04

읽기 전용 필드

readonly 키워드를 사용해서 읽기 전용 필드를 만들 수 있다. 읽기 전용 필드는 클래스나 구조체의 멤버로만 사용할 수 있으며, 생성자를 통해서

한 번만 값이 정해지고 읽기만 가능하여 변경할 수 없다. 만약 생성자가 아닌 곳에서 읽기 전용 필드를 변경하려 하면 컴파일 에러가 발생한다.

값이 한번 정해지면 다시 변경할 수 없는 const와 비슷하다. 하지만 const와 readonly는 분명히 다르다.

  1. const는 선언 시에만 초기화 할 수 있고 readonly는 선언 시 또는 생성자에서 초기화할 수 있다.

  2. const는 컴파일 시 상수 값이 코드에 직접 삽입되고 readonly는 런타임 시 값이 메모리에 저장된다.

구조체와 클래스

구조체와 클래스의 가장 큰 차이점은 구조체는 값 타입(Value Type) / 클래스는 참조 타입(Reference Type) 에 있다.

구분클래스구조체
타입참조 타입 (Reference Type)값 타입 (Value Type)
메모리 할당힙 (Heap)스택 (Stack)
기본 값null모든 필드가 기본 값으로 초기화됨
상속지원지원하지 않음
인터페이스 구현지원지원
생성자기본 생성자 및 사용자 정의 생성자 가능모든 필드를 초기화하는 생성자 필요
파괴자지원지원하지 않음
가비지 컬렉션가비지 컬렉터에 의해 관리됨가비지 컬렉션 없음
주된 사용 사례복잡한 데이터 구조, 상속이 필요한 경우작은 데이터 구조, 간단한 경우, 메모리 효율성 중시
This post is licensed under CC BY 4.0 by the author.