[C#] 10일차 - 66. 클래스의 멤버, 필드와 상수C#/C#200제2021. 1. 30. 14:39
Table of Contents
필드
클래스에서 선언되는 모든 형식의 변수를 멤버변수 혹은 필드라고 합니다.
필드는 보통 소문자로 시작합니다
필드는 보통의 경우 캡슐화를 위해 private또는 protected로 사용합니다.
인스턴스(객체)필드와 정적 필드의 두종류가있습니다.
인스턴스(객체)필드 :
객체에 속한 필드로 객체의 이름과 함께 사용합니다. public string name; 과 같이 [접근제한자] [자료형] [필드명] 으로 생성하고, "인스턴스. 필드명" 으로 사용됩니다.
정적 필드(클래스)필드 :
클래스 이름과 함께 쓰는 필드를 클래스 필드라고 합니다.
만들때는 static 키워드가 추가되며 사용할 때는 "[클래스 이름].[필드명]"으로 사용합니다.
상수
상수는 컴파일 시간에 알려진 변경할 수 없는 값입니다.
C#의 기본 제공 형식만 const로 선언할 수있으며 구조체와 클래스 및 사용자 정의 형식은 const선언이 불가합니다.
static 키워드를 사용하지는 않습니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace A066_FieldsAndConstants
{
class Product
{
public string name;
public int price;
}
class MyMath
{
public static double PI = 3.14;
}
// MyCalendar class에 대한 정의 ( 상수는 만들고 반드시 초기화를 해줘야함 )
class MyCalendar
{
public const int months = 12;
public const int weeks = 52;
public const int days = 365;
public const double daysPerWeek = (double)days / (double)weeks;
public const double daysPerMonth = (double)days / (double)months;
}
class Program
{
static void Main(string[] args)
{
Product p = new Product();
p.name = "시계";
p.price = 100000;
Console.WriteLine("{0} : {1:C}", p.name, p.price);
Console.WriteLine("원주율: {0}", MyMath.PI); // PI는 static이므로 객체를 생성하지 않고 바로사용함
Console.WriteLine("한 달은 평균{0:F3}일", MyCalendar.daysPerMonth); // 상수는 static 키워드가 없지만 객체를 생성하지 않고 클래스 이름으로 바로 사용가능
}
}
}
반응형
'C# > C#200제' 카테고리의 다른 글
[C#] 10일차 - 68. 생성자 메소드 (0) | 2021.01.30 |
---|---|
[C#] 10일차 - 67. 인스턴스 메소드와 static 메소드 (0) | 2021.01.30 |
[C#] 10일차 - 65. 클래스와 구조체 (0) | 2021.01.30 |
[C#] 10일차 - 64. 버블정렬 (0) | 2021.01.30 |
[C#] 10일차 - 63. 선형탐색과 이진탐색 (0) | 2021.01.30 |
@반나무 :: 반나무_뿌리
3년차 WPF 개발자입니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!