c# 특강 노트-변수와 자료형
class는 일종의 설계도. a.k.a붕어빵틀
instance는 붕어빵
private와 public 은 구분할것
private를 사용하지 않으면 버그 잡기 어려움.
외부에서 접근 하면 안되는 건 private로
외부에서 접근해서 사용해야 하는거면 public
지역 변수는 함수가 종료되면 메모리에서 삭제
전역 변수는 함수가 종료되도 메모레에서 삭제가 안됨. why? 함수 바깥에서 정의된 변수라서
지역변수에는 접근제한자를 사용할 수 없음
싱글턴은 자기 자신이 인스턴스를 가지고 있음
변수선언시 값을 넣어주지 않으면 기본값으로 구동
- 조건문
조건문은 주어진 조건식의 결과에 따라 프로그램의 제어 흐름을 변경하는 제어문
if 문 예시)
if (조건식)
{
// 조건식이 참일 경우 실행
}
else문 예시)
if(조건식)
{
//조건식이 참일경우 실행할 코드
}
else
{
//조건식이 거짓일 경우 실행할 코드
}
else if문 예시
if(조건식1)
{
//조건식1이 참일때 실행할 코드
}
else if(조건식2)
{
//조건식2가 참일때 실행할 코드
}
else
{
//모든 조건식이 거짓일 경우 실핼할 코드
}
중첩 조건문
- 하나의 조건문 안에 또 다른 조건문이 포함된 형태의 조건문
예시)
if(조건식 1)
{
if(조건식2)
{
//조건식 2가 참일 경우 실행할 코드
}
}
3항 연산자
- 3항 연산자는 if문의 간단한 형태, 조건식의 결과에 따라 두 값을 선택하는 연산자.
(조건식) ? 참일 경우 값 : 거짓일 경우 값;
예시)
int currentExp = 1200;
int requiredExp = 2000;
// 삼항 연산자
string result = (currentExp >= requiredExp) ? "레벨업 가능" : "레벨업 불가능";
Console.WriteLine(result);
반복문
반복문은 한 범위의 명령문을 반복해서 실행하는 제어문
즉, 반복문 내부에서 루프를 돌려서 조건을 만족시키면 루프를 종료한다고 보면 됨
for 문
- for문은 초기식, 조건식, 증감식을 사용하여 반복문을 작성합니다.
- 초기식은 반복문이 시작될 때 단 한 번 실행되고,
조건식은 반복문이 실행될 때마다 평가되며, 참(true)인 경우 반복문이 계속 실행됩니다.
증감식은 반복문이 실행될 때마다 실행되는 식입니다.
예시)
for (초기식; 조건식; 증감식)
{
// 조건식이 참인 경우 실행되는 코드
}
while
- while문은 조건식이 참(true)인 동안 코드 블록을 반복적으로 실행
예시)
while (조건식)
{
// 조건식이 참인 경우 실행되는 코드
}
do while
- do-while문은 while문과 비슷하지만, 조건식을 검사하기 전에 먼저 코드 블록을 한 번 실행하는 점이 다름
예시)
do
{
// 조건식이 참인 경우 실행되는 코드
}
while (조건식);
foreach
- foreach문은 배열이나 컬렉션에 대한 반복문을 작성할 때 사용합니다.
예시)
foreach (자료형 변수 in 배열 또는 컬렉션)
{
// 배열 또는 컬렉션의 모든 요소에 대해 반복적으로 실행되는 코드
}
중첩반복문
- 중첩조건문 처럼 반복문 안에 반복문
- break & continue
- break는 반복문을 중지시키는 역할
- continue는 현재 반복을 중지하고 다음 반복을 진행하는 역할
배열
- 동일한 자료형의 값들이 연속적으로 저장되는 자료 구조
컬렉션
- 컬렉션은 자료를 모아놓은 데이터 구조를 의미
- 컬렉션은 배열과 비슷한 자료 구조
- 배열과는 다르게 크기가 가변적
- 컬렉션의 예시) List, Dictionary, Stack, Queue, HashSet
메서드
- 메서드는 일련의 코드 블록, 특정한 작업을 수행하기 위해 사용되는 독립적인 기능 단위
- 코드의 재사용성과 모듈화를 위해 사용, 필요할 때 호출하여 실행
- 역할 과 중요성 : 코드의 재사용성, 모듈과, 가독성과 유지보수성, 코드의 중복제거, 코드의 추상화
구조체가 작성되는 위치는?
검색결과 : 클래스 바깥, 그렇지만 네임스페이스 안에 위치. 그리고 파일 최상단에 위치
회고. 사실은 오늘 2주차 강의를 끝내고 3주차 강의의 중반까지는 진행해보려고 했지만, 중간중간 개인과제 관련으로 적용할것들을 적용해보다 보니, 2주차 강의끝 까지 밖에 진행을 못했다. 내일은 3주차 강의와 4주차 강의를 끝내는 것을 목표로 잡아야 할거 같다. 그리고 오늘 저녁과 내일은 오늘 공부한것의 복습이 필요할거 같다는 생각이 든다. 특히 메서드 오버로딩이 무엇인지 다시 강의를 들으면서 정리를 해야 할거 같다. 조건문과 반복문은 이미 사전캠프에서 어느정도 실습을 해보면서 감을 잡았지만, 메서드 관련 부분은 아직 조금 밖에 감이 안잡히는거 같다.