using System;
namespace Cshap_test
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(args);
}
}
}
using System 의미
: 구성요소/컨트롤의 런타임/디자인 타임동작 구현시 사용하는 클래스 제공
namespace의 의미
C#의 경우 컴포넌트 기반의 언어이기 때문에 class명이 겹치는 경우가 발생하여 충돌이나서 오류가 발생할 수 있다. 이를 보안하기 위해 클래스들을 namespace에 포함시켜서 충돌을 방지함.
역할이나 의미가 유사한 클래스들을 그룹지을수 있는 기술을 제공하는 것
컴포넌트? : 프로그래밍에 있어 재사용이 가능한 각각의 독립된 모듈
class의 의미
: class는 설계도의 느낌임. 붕어빵을 팔기위해선 붕어빵 틀이 필요한데 여기서 붕어빵 틀이 class고 붕어빵 종류는 변수, 붕어빵 만드는 방법은 메서드임.
인스턴스는 객체지향 프로그램에서 객체를 실제로 구성하여 만든 것을 의미함.
-> 메모리에 할당되어 실제 사용될때
객체는 클래스 타입으로 선언된 것을 의미함
static void main(string[] args)의 의미
: main메서드는 클래스 수준 메서드기 때문에 정적이어야 함.
클래스의 인스턴스없이 호출하려면 정적이어야 함
main메서드가 C#프로그램의 진입점임
return값이 없으니까 void
string[] args는 main메서드로 전달되는 인수를 뜻함.
즉, 실행파일(.exe)뒤에 적은 문자들이 argument임
평소에는 실행파일만 출력하니까 의미없음
사실상 static void Main()이렇게 비워둬도 됨
Console의 의미
: 콘솔 애플리케이션에 대한 표준 입,출력 및 오류 스트림을 나타냄
-> 콘솔 애플리케이션이란? 입력과 출력이 가능한 콘솔 창(명령 프롬프트)을 기반으로 작동하는 프로그램