728x90
반응형
메서드 (Method)
클래스에 대해 공부하면서 메서드라는 용어를 알게 되었다.
메서드는 단순히 C/C++ 에서의 함수와 같다고 보면 된다.
필드 (Field)
필드는 클래스에 정의된 속성을 의미한다.
단순히 말하자면 클래스에 정의된 변수들을 의미한다고 보면 된다.
클래스
클래스는 하나의 의미를 갖는 변수와 함수를 하나의 틀 안에 묶는 것이라고 할 수 있다.
C언어에서의 구조체와 그 의미와 구조는 매우 유사하지만 구조체는 변수만을 묶을 수 있다.
클래스를 선언하는 방법은 C언어의 구조체와 같다. 단지 이름만 클래스로 바뀌었을 뿐이다.
클래스에 접근할 때에도 C언어와 마찬가지로 온점을 사용한다.
아래 코드에서 Student 라는 이름의 클래스를 선언하고 클래스 안에 변수 두 개와 함수 하나를 선언해 보겠다.
using System;
namespace ConsoleApp1
{
class Student
{
public string name = "enchupin";
public int ID = 20230817;
public string Name(string n)
{
return n;
}
}
class Program
{
static void Main(string[] args)
{
string name1 = "C#";
Student student = new Student();
Console.WriteLine(student.name);
Console.WriteLine(student.ID);
Console.WriteLine(student.Name(name1));
}
}
}
위 코드에서 보이는 대로 클래스 안의 변수나 함수들에는 public 이라는 예약어가 붙어있다.
이 예약어를 사용하지 않으면 한 클래스에서 선언된 변수나 함수를 다른 클래스에서는 사용할 수 없게 된다.
또한 C언어에서 구조체를 선언한 후 이에 접근하기 위해 구조체 변수를 선언하는 것처럼
C# 에서도 다른 클래스에 접근하고 싶으면 new 연산자로 메모리를 할당해 주어야 한다.
이는 클래스로 정의된 타입은 문자열처럼 모두 참조형으로 분류되기 때문이다.
728x90
반응형
'C# > C# 문법' 카테고리의 다른 글
[C#] 생성자, 소멸자 (0) | 2023.10.06 |
---|---|
[C#] 오버로딩 (0) | 2023.10.06 |
[C#] 가변 배열 (0) | 2023.10.06 |
[C#] 배열 (Array) (0) | 2023.10.06 |
[C#] 자료형 (0) | 2023.10.06 |