본문 바로가기
어떻게 성장할까?

언어 및 코딩 기초 지식을 어떻게 소화할까? - C# 기초 예제와 함께

by 어뫄어뫄 2024. 10. 25.
using System;

namespace MyCompiler {
    class Program {
        public static void Main(string[] args) {
            Console.WriteLine("Hello world!");
        }
    }
}

 

위와 같은 기초 예제 코드가 있다고 가정하자.

프로그래밍용 기초 수학을 어느 정도는 안다는 전제로 프로그래밍 입문에서 출력을 설명하고 또 동시에 코딩을 위한 기본 형태를 소개하기 위한 가장 기초 예제였다. 

 

여기에서 내가 들었던 강의를 중심으로 27개의 낱알 지식이 있다. 이는 4개의 중심 지식을 기반으로 엮여 있다.

  • Main함수와 그 형태. 반환형, 접근제어자, static, 매개변수와 다중인자.
  • using System;
  • Console.WriteLine();에서 보이는 클래스와 함수.
  • namespace, class 라는 부분. 일단은 시스템을 위한 내용으로 이해할 것.

이렇게 지식으로 필기 노트로 각 개념들을 익히고 정리하는 것도 중요하다.

Main 함수 부분과 관련된 꼬리 지식을 핵심만 줄글로 이으면 아래와 같은 내용이 나온다.

 

  • Main 함수는 이 프로그램의 시작점을 표시해준다. exe 파일을 실행하면, 이 프로그램이 자동으로 실행된다.
  • public: 접근제어자.
  • static 선언은 일단 이것 때문에 전역함수가 된다고 이해하면 된다. 어디에서건 쓰일 수 있다.
  • 함수 인자로 쓰인 string[] args: 일단은 함수 매개변수 또는 인자로 쓰였다는 것만 알면 된다.
  • void: 반환형 자리에 쓰였는데, 아무 값도 반환하지 않는다고 이해한다.

이렇게 설명을 정확하게 이해하는 것 이외에, 내가 해당 코드를 손으로 정확하게 쓸 수 있는지(Ⅰ유형 지식, 강도 강화), 유의 개념 역시 코드로 정확히 예를 들고 또 쓸 수 있는지 (Ⅰ유형 지식, 강도 강화 및 세밀하게) , 또한 최소한 어떤 유형에 IDE 등에 이를 지원할 수 있는지(Ⅱ유형 지식, 모르는 걸 아는 형태) 이해하면 좋다. 

 

 

실제로 손으로 적어보았다. 옆에는 실제 복붙한 코드를 두어 비교했다.

 

실제로 적어보니 내가 이 내용을 정말 바로 코딩으로 구현할 정도로 온전히 이해하지 못했다는 점을 알았다. 좋은 점은 지식이 부족함을 몸으로 느끼는 순간 그 지식이 바로 체화된다는 점이다.

 

(떠올리지 못함)

① using System; 자체를 적는 게 은근 헷갈린다

② namespace 자체를 적는 걸 까먹었다.

③ System, Main에서 대문자를 까먹음

④ WriteLine이 JAVA 등의 다른 함수와 헷갈렸다.

 

(멈칫함)

① 특정 위치(namespace, class)에서 중괄호를 여는 걸 매끄럽게 못했다.

② 세미콜론 사용(;)을 매끄럽게 하지 못했다.

 

 

<적용점>

□ 내가 익힌 C#기준 프로그래밍 기초 개념을, JAVA 코드로 치환해서 다시 기본기를 손에 익힐 수 있을까?

나는 Java 문법을 정말 온전히 익힌 상태일까?