본문 바로가기
프로그래밍 언어/C#

C# 2. 출력문

by Jinger 2023. 9. 10.

서론

     모든 언어의 가장 기초가 되는 출력문이지만 완전히 이해하기 위해서는 네임스페이스와 클래스의 개념을 알아야 한다. 하지만, 이후 네임스페이스와 클래스를 다루고 다시 이 블로그를 보면 이해가 더욱 쉬워질 것이다.


출력문

    콘솔창은 컴퓨터 프로그램을 개발하고 디버깅하는 데 사용되는 중요한 도구이다. C#에서 콘솔창에 어느 한 문구를 출력하기 위해 "Console.WriteLine("출력할 문구");" 형태의 함수를 이용하여 출력한다. 예시로 아래와 같이 작성 후 디버그를 해보자.

unsing System;

namespace HelloWorld
{
    class HelloWorld
    {
    	static void Main(string[] args)
        {
        	Console.WriteLine("Hello World");
        }
    }
}

코드 구조

    C#의 기본 구조는 네임스페이스, 클래스, Main() 메서드로 구성된다. 위 예시를 참고하여 코드 구조를 살펴보자.

C# 기본구조

unsing System;	//네임스페이스 선언부

class HelloWorld
{	// 중광호 사용: 프로그램 범위를 그룹화
    static void Main(string[] args)	// Main 메서드, 프로그램 시작 지점
    {
    	Console.WriteLine("Hello World");	// 세미콜론:" 명령어의 끝
    }
}

Using 키워드와 네임스페이스

    콘솔 화면에 문자열을 출력하려면 "네임스페이스.클래스.메서드();" 형태로 사용해야 한다. 자주 사용하는 네임스페이스를 위쪽에 미리 선언해 생략할 수 있다. 위의 예시와 같이 using System;을 스크립트 상단에 넣으면 네임스페이스를 생략하여 "클래스.메서드();"와 같은 형태로 사용할 수 있다. 아래는 네임스페이스를 선언하지 않은 예시이다.

class HelloWorld
{
    static void Main(string[] args)
    {
    	System.Console.WriteLine("Hello World");
    }
}

using static 구문

    C# 6.0 버전 이후부터는 "using static System.Console;"구문으로 "System.Console"을 생략하여 "WriteLine()" 메서드만 사용할 수 있다.

using static System.Console;

class WriteLineDemo
(
	static void Main()
	{
		WriteLine("Hello World");
	}
)

Main()메서드: 프로그램의 진입점

    C# 기본 구조에서 반드시 사용되는 Main() 메서드는 프로그램의 시작점이다. 반드시 Main() 메서드가 있어야 하고 Main() 메서드에서 프로그램을 실행하고 종료한다. Main() 메서드 앞에 static 키워드가 있어 앞으로 배울 개체를 생성하지 않고 바로 클래스에 있는 Main() 메서드를 실행할 수 있다. Main() 메서드가 2개이면 프로그램에 진입점이 2개 이상이므로 실행하지 않는다.

중괄호

    클래스와 Main() 메서드처럼 프로그램의 시작과 끝을 나타낼 때는 중괄호 열기({)와 닫기(})를 사용한다. 이때 중광호 위치는 Allman 스타일 혹은 K&R 스타일을 사용된다.

// Allman 스타일
class Allman
(
	static void Main()
	{
	}
)
// K&R 스타일
class KR{
	static void Main(){
	}
)

대소문자 구분

     C#은 대소문자를 구분한다.  C#은 파스칼표기법을 따르기 때문에 네임스페이스와 클래스, 메서드는 첫 시작이 대문자이므로 기억하자. 

기본 문법

출력문

     C#의 출력문에는 위에서 설명한 "WriteLine()"외에 "Write()"메서드가 있다. "WriteLine()"는 출력할 문자를 출력하고 줄 바꿈(enter)를 하고  "Write()"는 문자를 출력할 뿐 줄 바꿈을 하지 않는다. 아래 예시로 콘솔 출력을 비교해 보자.

using System;

class ConsoleWrite
{
	static void Main()
    {
    	Console.Write("Hello");
        Console.WriteLine("World");
        Console.WriteLine("!!!");
    }
}

주석문

    주석문(comment)은 실행에 영향을 주지 않는 코드 설명문으로 프로그램 설명과 같은 내용을 기록하는 용도로 사용한다. C#에서 주석문은 한 줄을 주석처리하는 "//"과 "/*"과 "*/"사이의 모든 내용을 주석처리하는 주석 두 가지가 있다.

//Console.WriteLine("이 구문은 실행하지 않습니다.");
/*
Console.WriteLine("이 구문은 실행하지 않습니다.");
Console.WriteLine("이 구문은 실행하지 않습니다.");
*/

들여쓰기

    프로그램 소스 코드는 가독성(readability)을 고려하여 들여 쓰기(indent)를 해야 한다. 일반적으로 시작 중광호 다음 코드는 들여 쓰기를 한다.

unsing System;

class HelloWorld
{
----static void Main(string[] args)
----{
----/----Console.WriteLine("Hello World");
----}
}

     들여 쓰기는 일반적으로 Tab으로 간격을 구분한다. 간격은 컴퓨터 혹은 개발툴의 설정마다 다르다. 

공백처리

     C#에서 공백(whitespace)은 무시된다. 프로그램 코드를 작성할 때 명령어 사이의 점(.) 기호와 괄호 사이의 공백은 무시되고, 줄 바꿈 또한 프로그램 실행에 영향을 주지 않는다. 공백을 포함하여 Tab, 줄 바꿈 등도 실행할 때 무시한다. 아래 코드 결과를 예측하며 실행해 보자.

using System;

class Whitespace
{
	static void Main(string[] args)
    {
    	Console.WriteLine("C#");
        Console.	WriteLine	("C#");
        Console
        	.WriteLine(
            "C#");
    }
}

이스케이프 시퀀스

    C#은 WriteLine() 메서드에서 사용할 확장 문자를 제공하는 데, 이를 이스케이프 시퀀스(escape sequence)라고 한다. 이스케이프 시퀀스는 역슬래시(\)와 함께 사용한다.

종류 설명
\n 한 줄 내리기(enter), new line
\t 들여쓰기, Tab
\r 캐리지 리턴, carriage-return
\' 작은 따옴표
\" 큰 따옴표

자리 표시자

    프로그램 실행 결과를 화면에 출력할 때 사용하는 출력문 등에서는 자리 표시자(틀)를 개념을 이용해서 출력 서식을 지정할 수 있다. 자리 표시자는 문자열 안에 변수 값을 삽입하거나 서식을 지정할 때 유용하게 사용된다. 자리 표시자는 문자열 안에 중괄호 {}로 둘러싸여 있으며 중괄호 안에 인덱스나 서식 지정 정보를 포함할 수 있다.

// 기본 자리 표시자 사용
string name = "Alice";
int age = 30;
string message = string.Format("이름: {0}, 나이: {1}", name, age);
Console.WriteLine(message);

    이 예제에서 {0}과 {1}은 자리 표시자이다. string.Format 메서드를 사용하여 문자열을 만들 때, 자리 표시자를 사용하고 나중에 각 자리 표시자에 해당하는 값을 제공한다.

// 서식 지정 자리 표시자 사용
double price = 19.99;
string formattedPrice = string.Format("가격: {0:C}", price);
Console.WriteLine(formattedPrice);

    이 예제에서 {0:C}는 자리 표시자로서, C는 통화 형식으로 값을 포맷하라는 것을 의미한다. 따라서 formattedPrice는 "가격: $19.99"와 같이 통화 형식으로 표시된다.
    자리 표시자는 문자열 형식 지정과 관련된 작업에서 특히 유용하며, 문자열 내에서 동적으로 값을 삽입하고 서식을 지정할 때 사용된다. C# 6.0 이상 버전에서는 자리 표시자 대신 보간 문자열(interpolated string)이라는 새로운 문자열 형식 지정 방법도 제공되므로, 필요에 따라 선택적으로 사용할 수 있다.


주섬주섬

  • 디버그(Debug)는 컴퓨터 프로그램의 오류를 찾아내고 수정하는 과정을 의미한다.
  • "Hello World"는 C언어를 만든 데니스 리치가 처음 출력한 것에서 유래되어 첫 출력문의 예시로 널리 쓰인다.
  • C#은 주로 Visual Studio를 이용한다.
  • 중괄호 스타일은 개인의 취향이나 나는 Allman을 따른다.

참고

 

C# 네이밍

서론 C# 코딩 컨벤션(C# coding Conventions)은 C# 코드를 작성할 때 사용되는 규칙과 가이드라인의 모음이다. 이러한 컨벤션은 코드의 가독성과 일관성을 유지하고 협업 시에도 작성자 간에 일관된 스

jinger.tistory.com

 

반응형

'프로그래밍 언어 > C#' 카테고리의 다른 글

C# 4. 제어문  (1) 2024.02.27
C# 3. 변수와 입력문  (1) 2023.10.04
C# 1. C# 들어가기에 앞서  (0) 2023.09.07
C# 특징과 비교  (1) 2023.09.01
C# 전처리기 지시문  (0) 2023.07.05

댓글