C# 메인 클래스
1
2
3
4
5
6
7
8
9
10
11
12
|
using System;
namespace FirstProject01
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
}
|
cs |
지난번에 만든 콘솔 프로그램의 Program.cs 파일에 생성된 메인 클래스 입니다.
C#의 코드 파일 확장자는 .cs 로 기존 C++와 .h와 같은 해더 파일이 필요 없이 선언과 함께 본문을 작성 하면 됩니다.
using System;
: 이 부분은 .Net 에서 지원 하는 네임스페이스(namespace)를 사용 하겠다고 알리는 부분입니다.
이 using System을 사용 하지 않으면 System.Console.WriteLine 처럼 클래스가 위치하고 있는 전체 경로를 사용 해서 코드를 작성 해야 합니다.
자주 사용 되고 반복적으로 사용 되는 클래스들은 using를 사용 함으로써 생략 할 수 있습니다.
namespace FirstProject01
: FirstProject01라는 namespace를 정의 하는 부분으로 namepace는 여러 클래스들을 하나의 그룹으로 묶어서 관리 하고 사용 하겠다고 선언 하는 것 입니다.
프로그램 전체를 하나의 네임스페이스로 관리 할 수도 있고 기능별로 구분 해서 사용 할 수도 있습니다.
namespace System.IO
namespace System.Runtime.CompilerServices
namespace System.Runtime.Versioning
namespace System.Text
처럼 하위 네임스페이스 구조로 사용 할 수도 있습니다.
class Program
: C#은 객체 지향 프로그래밍(OOP, Object Oriented Programming)언어로 기본적으로 객체를 표현 하기 위해 class라는 키워드를 사용 합니다.
OOP에서 객체는 어떤 상태를 가지고 있고 어떤 행동들을 하는지로 구성 되어 지는데
class에 이 상태에 해당하는 것을 변수로 필드(Field)라고 표현 하고 행동에 해당하는 것은 메소드(Method)로 표현 합니다.
1
2
3
4
5
6
7
8
9
|
public class Person // class
{
public string Name; // Field
public void PrintName() // Method
{
Console.WriteLine(Name);
}
}
|
cs |
class 키워드 앞에 internal / public 이런 것들은 이 클래스를 외부에 접근 가능 한지 여부를 제한 하는 키워드 입니다.
클래스 / 필드 / 메소드 를 정의 할 때 앞에 이런 제한 접근자를 표시 해서 사용을 제한 할 수 있습니다.
static void Main(string[] args)
: Main 메소드 입니다.
이 Main은 프로그램이 실행 될 때 제일 처음 실행 되는 진입점입니다.
Main 메소드는 정적 메소드(Static Method)로 선언 되어야 합니다.
static은 클래스의 객체를 생성 하지 않고도 바로 실행 할 수 있게 해줍니다.
Console.WriteLine("Hello, World!");
: Console.WriteLine은 콘솔 창에 한줄 메시지를 출력 해주는 메소드로 기본 예제에서는 Hello World!를 출려 해 줍니다.
이 처럼 C#의 기본 구조는 일반적으로
using ... ( 유징 )
class ... ( 클래스 )
{
Fields (Variables) ... ( 필드, 변수)
Methods ... ( 메소드 )
{
Variables .... ( 변수 )
Statements ... (구문, 동작)
}
}
으로 되어 있습니다.
'C#' 카테고리의 다른 글
C# ?. 와 ?[] 와 ?? 그리고 ??= 연산자 로 코드를 간결하게. (0) | 2022.11.16 |
---|---|
C# Flag 속성 사용 | Enum Flag | FlagsAttribute (0) | 2022.09.21 |
C# 설치 하기 (0) | 2022.08.30 |
C# 소개 (0) | 2022.08.30 |
C# List<T> Find 함수 사용법 (1) | 2021.04.22 |