C#교과서 마스터하기 23. 필드(Field)

min seung moon·2021년 7월 13일
0

C#

목록 보기
24/54

https://www.youtube.com/watch?v=VPCVleg-RiM&list=PLO56HZSjrPTB4NxAsEP8HRk6YKBDLbp7m&index=56

1. 필드(Field)

01. 필드(Field)

  • 클래스 안에서 선언된 변수(Valiravle)를 필드
  • 필드는 일반적으로 클래스의 부품 역할을 하며 대부분 private 한정자가 붙음
  • 참고로 C/C++ 등의 언어에서는 해당 범위에서의 전역변수(Global Variable)와 같은 의미
  • 필드는 클래스가 가지는 속성이며 변수 또는 상수가 위치
    • 상수
      • const 키워드 : C#
      • final 키워드 : Java

02. 액세스 한정자(Access Modifier)

03. 읽기 전용(Read-Only) 필드

  • public readonly decimal Price;
    • 대문자로 시작 가능
  • 클래스 내에 선언된 상수와 비슷하나 초기화 방법이 조금 다르다
    • 선언과 동시에 초기화(같음)
    • 또는
    • 생성자를 통해서 초기화(다름)
  • public 액세스 한정자 지정 가능
    • 필드는 private 액세스 한정자 권장

04. 상수와 읽기전용 필드

-1. 상수

  • 컴파일 타임 상수
    • 상수는 컴파일 시 데이터가 저장
  • 선언과 동시에 초기화
  • 숫자, 참 또는 거짓, 문자열
  • 항상 static으로 호출 됨

-2. 읽기전용 필드

  • 런타임 상수
    • 읽기전용 필드는 런타임(실행) 시 데이터가 저장
  • 선언과 동시에 초기화 도는 생성자에 의한 초기화
  • 모든 데이터 형식
  • static 선언 가능, 일반적으로 인스턴스

05. 캡슐화 / Information Hiding

  • 개체의 데이터는 해당 개체에서만 접근 가능하도록 설정
  • 필드는 private
    • 외부에 공개가 필요한 것은 뒤에서 배울 속성(Property)으로 공개하도록 설정

2. 필드 테스트

using System;
using static System.Console;
using System.Collections;
using System.Collections.Generic;
using System.Linq;

namespace testProject
{
    public class Person
    {
        private string name = "문민승";
        private const int m_age = 21;
        private readonly string NickName = "mms";
        private string[] hobby = { "work out", "singing" };

        public void ShowProfile() => WriteLine($"{name} - {string.Join(", ", hobby)}");
    }
    class Program
    {
        // 상수, 전역 변수
        private static string message = "안녕하세요.";
        static void Main(string[] args)
        {
            Person person = new Person();
            person.ShowProfile();
        }

    }
}

profile
아직까지는 코린이!

0개의 댓글