Luna
[TIL Day 11] C# 2주차 강의 완강! 본문

오늘의 학습 키워드
- C# 2주차 강의 완강 목표
- 문제은행 Day2 다 풀기
공부한 내용 본인의 언어로 정리하기
for문 while문
- for 문은 반복 횟수를 직관적으로 알 수 있고, 반복 조건을 한 눈에 확인할 수 있어 가독성이 좋습니다.
- while 문은 반복 조건에 따라 조건문의 실행 횟수가 유동적이며, 이에 따라 코드가 더 간결할 수 있습니다.
do ~while문
do
{
// 조건식이 참인 경우 실행되는 코드
}
while (조건식);
조건이 참일 경우 do가 실행되고 while이 실행된다.
foreach문
foreach (자료형 변수 in 배열 또는 컬렉션)
{
// 배열 또는 컬렉션의 모든 요소에 대해 반복적으로 실행되는 코드
}
string[] inventory = { "검", "방패", "활", "화살", "물약" };
foreach (string item in inventory)
{
Console.WriteLine(item);
}
foreach는 C#을 배우면서 처음 보는 반복문이다.
배열을 그대로 뭉탱이로 출력? 할 때 쓸 수 있다고 함.
중첩 반복문
- 이차원 반복문
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 3; j++)
{
Console.WriteLine("i: {0}, j: {1}", i, j);
}
}
Break & Continue
- Break : 반복문을 중지시키는 역활
- Continue : 현재 반복을 중지하고 다음 반복을 진행하는 역활
Continue 를 만나면 밑에 있는 반복문들을 다 무시하고 그대로 증감 연산이나 위쪽 코드로 올라감.
에러사항
오늘 코드를 처음 작성하려다가 자꾸 for문이나 다른 문법 객체들이 인식을 하지 않아서 도대체 왜인가 하고 구글링을 해보았다. 마지막 공부가 끝나기 전에 프로그래머스에서 문제를 풀면서 visual studio에서 가져와서 문제를 푸느라 Main함수가 없었던 것을 확인했다. 메인 함수 없이 바로 코드만 작성한 것이다. Main이 없으면 실행을 시킬 수가 없다.그래서 다시 Main함수를 적었더니 오류가 해결되었다. 이런 문제 해결과정이 은근 재밌는 것 같다. 해결하면 더욱 뿌듯하다.
또한 Main을 다시 정의해보면서 static void Main(string[] args)가 도대체 무엇인가를 구글링 해보았다.
void Main으로만 선언하면 왜 코드 색깔이 회색으로 바뀌는지, 뭐가 다른지는 아직 구글링 하지 않았다.
또 void main이라고 하면 안된다. main이 소문자면 안됨 (오류가 떴는데 언제, 왜 뜨는지는 아직 정확히 알지 못함.)
public: 같은 패키지 및 다른 패키지 모두 접근이 가능한,
코드를 실행하면 메소드와 클래스들을 호출하게 되는데 다른 클래스와 메소드 등에서 main의 접근을 막으면 안됨
static: 정적 메모리로 프로그램이 실행 시 메모리에 할당된,
기존의 객체의 경우 할당이 끝나면 메모리에서 사라지는 데 반해 static을 사용하면 프로그램이 종료될 때 까지 유지
void: return 타입이 없는,
프로그램의 시작과 끝으로 마무리 하는 데 누군가에게 따로 return을 할 일이 없음
main: 디버깅시 Entry Point (제일 먼저 시작하는 코드)
자바에서 모든 코드의 디버깅은 main에서 시작 - 끝을 이루게 된다.
String[]: String[] 배열을 나타냄
args: String[] 배열의 변수, 다른 값으로 써도 되지만 통상적으로 args 사용
프로그램의 실행 순간에 외부의 값을 가져와서
프로그램 내 사용하고자 할 때 메모리에 저장할 공간을 미리 선언해 두는 것
아직까지 정확하게 다 짚고 넘어가지 않아서 완벽하겐 모르겠지만 프로그램의 실행 순간에 저장 공간을 미리 선언해두는 것 쯤은 이해할 수 있었다. 나중에는 메모리나 공간할당에 대해서도 공부해야 할 거 같은데 그 때가 되면 좀 더 이해하기 쉽지 않을까 하는 생각이 든다.
오늘의 회고
이번주는 설날이 껴서 한 주가 이미 이틀만에 다 가버렸다. 사실 설날에도 강의를 1개씩은 들었는데 지금 다시 복습하니 3개정도는 분량이 많지 않아서 진도가 많이 빠지지 않은 것 같다. 사실 빠르게 진도를 빼는 것 보다 기초를 탄탄히 다지는게 더 중요하다고 생각은 하는데 다른 수강생분들의 진도가 생각보다 빨랐다.
찬찬히 이해 될 때 까지 뜯어보는 타입이라 하나가 해결이 안되면 다음으로 안 넘어가서 끝까지 물어버리니까 시간이 좀 지체되는 것 같다. 그래도 다 이해해야 넘어가기 때문에 꼼꼼하게 잘 볼 수 있는게 또 장점이 아닐까 싶다. 다른 문제들도 다 풀어보고 넘어가려고 한다.
개인 프로젝트도 얼른 시작해야 할 것 같다. 주말에도 해야 마감일을 지킬 수 있을 것 같다 ..
내일 공부할 것
주말 이에용 Xx..
'🎮 Unity_7 TIL WIL' 카테고리의 다른 글
[TIL Day 15] 개인 프로젝트와의 싸움 (0) | 2025.02.04 |
---|---|
[TIL Day 14] 3주차 강의 완강을 향해 :) (0) | 2025.02.03 |
[TIL Day 7] C# 기초 문법 강의 1주차 완! (1) | 2025.01.27 |
[튜터님 피드백] + [미니프로젝트 회고] (0) | 2025.01.24 |
WIL 주간 회고록 1주차 (0) | 2025.01.24 |