1 2 3 4 5 6 7 8 9 10 11 12 13
| using system;
namespace HelloWorld { class Program { // 메인 함수 static void Main(string[] args) { Console.WriteLine("Hello world!"); } } }
|
메인 함수
- 시작점(entry point)
- c# 프로그램은 반드시 어떤 함수에서부터 실행되어야 한다.
- 그
어떤
함수가 바로 Main
함수이다. (또는 메서드라고 표현한다.)
- exe 파일을 실행하면 Main 함수가 자동으로 실행된다.
Main 함수 앞의 static
- c#은 OOP 언어라서 기본적으로 static을 안쓰지만 Main 함수는 진입점, 프로그램에 딱 하나만 있는 것. 따라서 프로그램의 진입점은 딱 하나만 있기 때문에 static을 넣어서 정적이라고 표현.
- 전역 함수가 된다.
string[] args
- 메인 함수가 외부로부터 받는 데이터
- 함수 인자 또는 메서드 인자라고 부른다.
- 커맨드 라인으로부터 인자를 받는다.
- 커맨드 라인: exe 파일을 실행할 때 추가적으로 넣는 정보
- e.g. HelloWorld.exe Hi C# is fun 는 Hi, C#, is, fun 총 네 개의 인자가 들어간다.
- 이 인자들이 args 배열에 저장된다.
void
- 반환형
- 모든 함수는 반환형이 존재한다.
- 실제로 값을 반환할 수도 있고, 반환하지 않을 수도 있다.
- 함수가 어떤 형태의 데이터를 반환하는지.
- 반환값이 없다는 의미.
반환형의 역할
- 커맨드 라인이 반환형을 받아서 exe 프로그램이 올바르게 실행되었는지 여부를 알 수 있다.
메인 메서드의 정수값 반환
- 정수를 반환할 때
int
를 사용한다.
- 실제로 값을 반환할 때는
return
키워드를 사용한다.
1 2 3 4
| static int Main(string[] args) { return 0; //0을 돌려보낸다. }
|
using System;
- using은 c#에서 지시어라고 부른다.
- 이것을 없애고 빌드하면 오류가 발생한다.
- using 지시어 다음에는 사용할 라이브러리(Console.WriteLine처럼 함수를 모아 놓은 것) 이름을 넣는다.
- 프로그램에서 사용할 함수들이 들어있는 네임스페이스를 코드 맨 위에 using 지시어를 사용해서 컴퓨터에게 알린다.
컴파일
- 소스코드를 기계 또는 VM이 이해할 수 있는 언어로 변경하는 행위
- 컴파일러라는 프로그램을 사용(커맨드 라인, IDE)
- 오류 또는 경고가 발생할 수 있다.
컴파일 오류
- 작성한 코드가 프로그래밍 언어의 규격에 위반된다.
- 오류가 있으면 exe 파일이 생성되지 않는다.
- 프로그램 실행 중 문제를 발견하는 것보다 낫다
- 오류 목록 창에서 오류를 파악하기 어려울 때는 출력창에서 찾아도 된다.
- 경고는 프로그래머의 실수처럼 보이는 것을 컴파일러가 찾아준다.
디버그 빌드, 릴리즈 빌드
디버그 빌드
- 개발자가 개발 중에 사용하는 실행파일
- 디버깅에 유용한 정보가 많다.
- 최적화는 거의 되어 있지 않다.
릴리즈 빌드
- 디버깅을 위한 정보가 적다.
- 최적화가 잘 되어 있다.
- 성능이 디버깅 모드보다 훨씬 빠르다.
여러값을 출력하기
화면에 글자를 출력할 때 사용하는 함수
- Console.WriteLine : 줄바꿈
- Console.Write : 같은 줄
구문
- 한 줄짜리 코드: 보통
;
가 코드 끝에 있다.
- 블록: 여러 줄의 코드로 이루어졌다.
- 블록은 범위라고도 부르고, 코드를
({})
로 감싼다.
- 주석: 코드와 관련된 내용을 메모할 때 사용, 컴파일할 때 무시되는 문장.
- 코드와 마찬가지로 계속 관리해야한다. (바뀐 내용이 있다면 업데이트 필요)
- 너무 많이 쓰지 않도록 한다. 코드 자체가 그 자체로 이해되도록 작성할 것.
상수
- 절대 변하지 않는 값, 매직 넘버.
- 숫자, 문자 등을 포함
- int 형, double형, float형, bool형, char형
선언과 대입(정의)
- 선언: 변수, 상수의 자료형과 이름을 컴퓨터에게 알려줌
- 대입: 변수, 상수의 실제 값을 컴퓨터에게 알려줌.
- 선언과 대입은 동시에 할 수 있다.
const
변수는 선언과 대입이 항상 동시에 일어난다.
- 한번 값을 대입 한 후 값을 바꾸고 싶지 않을 때 사용한다.
- 선언과 대입이 이루어진 후 값을 변경하면 컴파일 오류가 발생한다.
1 2 3 4 5 6 7 8 9 10
| // 선언 float number; //대입 number = 1.5;
//선언과 대입을 동시에 float number = 1.5;
//const를 쓰는 경우 const float NUMBER = 1.5;
|
References
실무 프로그래밍 입문(C#)