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 코드로 치환해서 다시 기본기를 손에 익힐 수 있을까?
'어떻게 성장할까?' 카테고리의 다른 글
성장을 위한 주제 '덩어리' (4) | 2024.10.28 |
---|---|
개발 능력, 3주+@간 어떻게 성장할까? (0) | 2024.10.25 |