왕초보만/실습 초보만

개발 시작 Part 1 입력문과 출력문을 만들어보자

JumBack2 2023. 7. 28. 10:58

지금까지 컴퓨터에 대한 기본 지식을 공부하고 드디어 코딩을 할 준비가 되었다.

기대되지 않는가?

 

우리가 컴퓨터 공부를 할때 제일 먼저 공부한 내용을 떠올려보자

바로 입력문과 출력문이다.

필자가 가장 먼저 언급한 것도 그것이 가장 기초적이면서 중요한

내용이기 때문이다.  그래서 코딩도 역시 가장 처음 배울 때는 입력문과 출력문을 

배운다. 

개발자들이 어떠한 언어를 배우든지 가장 처음 배우는 것은 출력문이고

그중에서도 HelloWorld 이다. 매번 이 단어는 위화감이 느껴지지만

아무튼 새로운 세상에 대한 인사같은 의미인거 같다. 컴퓨터 공학부 시절 

저거 이후로는 이해되는 내용이 없었던 것으로 기억된다. 그만큼 쉬운 내용이다.

 

우리의 막강한 Visual Studio는 여러가지 파워풀한 기능들을 사용자에게 제공한다.

-> 외국친구들은 꼭 소개를 이런식으로 하더라

콘솔 어플리케이션, .NET Core, Blazor 앱 , 라이브러리, WinFoms 등등

 

이 많은 탬플릿들은 개발자가 무언가를 만들기 위해 사용하는 소스코드를 보다 편하고 

빠르게 작업할 수 있도록 환경과 구성을 미리 준비하여 주는 것이다.

 

목수가 무언가 작품을 만들 때 필요한 연장이 있다면, 작품에 따라 혹은 사용기법에

따라 연장이 각각 다른게 필요할 것이다. 우리가 사과를 깍을 때 과도를 사용할 수 있고

감자를 깍을 때도 과도를 사용할 수 있지만, 감자칼을 사용하면 더 용이하게 깍는 것과

마찬가지처럼 코딩을 할 때도 조금 더 편하게 쓸수 있는 칼이 존재한다.

탬플릿의 선택은 그런 환경을 조성해주고 미리 쓸수 있도록 맞춤 칼들을 

준비해주는 것과 같다.

 

콘솔창

우리는 일단 콘솔 앱을 이용하여 코딩을 진행 할 것이다. 여기서 콘솔이란 영어로

고정된 붙박이 탁자를 의마한다. 그러다가 비디오 게임 콘솔의 의미가 파생되었다고 한다. 

IBMN에서 컴퓨터 제어용으로 operation console라는 것을 발매하여 스스템 조작 체계의

의미를 띄다가 지금은 operation의 의미는 옅어지고 Console의 의미만 남았다고 하는데

아무튼 시스템 조작하는 창같은 거라고 생각하면 된다. 여러분의 맥의 콘솔창이나 

윈도우의 도스창 같은걸 콘솔 창이라고 한다.

그 콘솔로 코딩을 만들어 볼까 한다.

 

 

콘솔창을 프로젝트 만들기로 새로 만들면 바로 이러한 화면이 나타나게 된다.

이제부터 진짜 코딩의 시작인데 막 영어같은거 보이고 어지러울 수 있다. 

일단 우리가 프로그램 진행할 것은 Main 메서드 안의 곳만 보면 되는데

필자가 이 수업을 진행하는 이유는 컴퓨터공학에서 이 부대적인 것들을 하나도 안알려주고 그냥 

출력문 부터 설명했기 때문에 다르게 하고 싶어 진행하는 것이다.

 

위는 여러분들이 보게 되었을 콘솔 앱 기본 화면이다.

이정도는 기본적으로 구성이 되어 여러분께 보이고 있을 것이다. 다른점이라면 하얀색 바탕화면이 기본이라는 것??

필자처럼 간지나는 블랙으로 바꾸고 싶다면 인터넷에 찾아보길 바란다. 개발자는 블랙이다.

1번은 여러분이 만든 콘솔앱을 실행하는 실행버튼이다. 즉 소스코드를 컴파일 하여 실행값을 보여준다.

 

2번은 Using 구문으로 여러분들이 사용할 수 있는 여러 라이브러리들을 미리 가져오는 구문이라고 생각하면 된다.

정확하게는 라이브러리라기 보다 네임스페이스인데, 네임스페이스는 클래스들을 정의하는 곳이며 가장 큰 틀이라고 

생각하면 된다. 그럼 라이브러리는? 사전이라고 생각하고 여러가지 메서드를 꺼내 쓸수 있게 정리한 패키지라고

생각하면 된다. 그럼 메서드는? 메서드는 간단히 말해 함수다. 여러분이 실행을 위해 상용할

 

나중에는 이부분을 추가하거나 변경하게 되는데 지금은 그럴일이 없을 것이다. 기본적으로 System 이라는 

네임스페이스를 Using으로 본 소스코드에 추가하여 기본적인 기능들을 사용한다고 익혀두면 된다.

3번은 Class문이다 현재 각자가 명명한 네임스페이스 안에 들어가 있을 텐데 

c#에서 { 이 중괄호는 코딩을 하게 되는 단락을 나누는 역활을 하게 된다.

따라서 namespace라고 이름을 명명한뒤 { 로 시작하고  가장 마지막에 같은 위치에 } 로 닫어져 있는 것은

namespace consoleApp6가 시작하는 지점과 끝을 단락으로 구분하여 감싸고 있다고 생각하면된다.

그리고 각 프로그램의 1줄은 ; 세미클론으로 마무리 하여 주어야 컴퓨터가 1줄씩 읽을수 있다.

초반에 ;을 넣지않아 항상 문제가 많이 발생하고 컴파일러는 그런 문법적인 실수가 있을 경우

빨간 줄로 여러분께 표시를 해줄 것이다.

 

4는 기본적인 클래스 안에 들어있는 Main 메서드를 의미한다. Main 메서드는 여러분의 코드가

실행되기 위해서 무조건 하나 있어야 하는 메서드이다. 

어플리케이션이 시작하려면 진입점과 종단점이 있어야 한다고이야기 하는데 어디선가 비슷한 걸

들어보지 않았는가? 입력문과 출력문이다.

무언가 프로그램은 들어오는 문과 나가는 문이 꼭 있어야 한다.

그 들어오는 문이자 나가는 문이 바로 Main 메서드이고 이 부분이 있어야 프로그램이 시작되고 끝나는 

지점을 의미한다. 

항상 실행하는 부분은 Main문에 있어야 실행이 된다.

 

5는 여러분의 프로젝트와 클래스가 계층적으로 보여지는 곳이다. 

 

6은 아주 반가운 우리들의 출력문이다. Console이라는 클래스를 쓰고 있고 이는 기본적으로

지원되는 클래스이다. 그냥 Console이라고만 치면 그 클래스가 가지고 있는 여러 메서드들을

이용할 수 있다.

WriteLine은 Console이 지원하여 주는 여러 메서드들 중 하나인 출력문을 나타내는 메서드이다.

Console.WirteLine(); 이라고 하고 ( ) 괄호 안에 문자열을 입력해주면 콘솔창에 출력을 한다.

 

Console은 반대로 입력문도 지원하는데 바로 Console.Read(); 혹은 ConsoleReadLine(); 이다

두 메서드는 차이가 있는데 궁금하면 한번 마우스를 메서드 위에 대 보시길 바란다.

 

변수를 받아와서 두 메서드를 쓰는 법은 다음시간에 알려주겠다. 

지금 약속을 가야되서... ㅂ2ㅂ2