
변하지 않는 값. (변하는 값인 "변수"와 반대)값을 바꾸는 것을 방지하기 위하여 사용한다. (=값 고정)(상수처럼 보이지만, 런타임에서 결정되어야 하는 값 = 읽어온 다음에 고정)객체 생성마다 다른 값을 줘야 할 때 readonly를 사용하는 것을 보면 차이점을 알
함수명은 같고 매개변수를 다르게 설정하여 다른 기능을 구현하는 방법.오버로드를 사용하면 메서드를 정의하기도 간편하며 메서드를 호출하는 부분에서는 어떤 메서드를 호출해야 하는지 고민할 필요가 없다. 매개변수에 따라 알아서 해당하는 메서드를 호출하기 때문이다. 상위 클래스

코드 영역프로그램의 코드가 저장되는 공간컴파일 시 결정되며, 읽기 전용실행 중에는 변경되지 않으며, 크기 고정데이터 영역static, const, 전역 변수등이 저장프로그램 시작 시 메모리에 할당되며, 런타임 중 크기 변화 X힙 영역 (런 타임에 크기 결정됨)new 키
→ 봉인 용도클래스를 상속하지 못하도록 봉인합니다.메서드를 오버라이딩하지 못하도록 막을 수도 있음클래스 앞 → 더 이상 상속 불가오버라이드된 메서드 앞 → 자식에서 override 불가클래스 봉인일반적인 함수가상 함수추상 함수봉인 함수: 함수를 참조 → 대리자 역할함수
Func : 여러 개의 매개변수를 넣을 수 있고 반환타입이 있는 Delegate → 마지막에 적은 타입이 반환타입 Func는 델리게이트 체인 사용 ❌ Action : 여러 개의 매개변수를 넣을 수 있고 반환타입이 없는 Delegate Action 형식으로 제네
: 이름 없는 함수델리게이트 변수나 이벤트에 바로 대입하거나 인라인으로 작성메서드를 일회성으로 쓸 때 유용(1) delegate 키워드 사용 ( delegate 뒤에 이름이 없음 = 익명 함수 )(2) 람다식 사용(더 간결)(매개변수) => (수식 또는 코드 블록) 형

instance라는 변수가 static인 것임. 이는 static class와 다름. -> static class(정적 클래스) 이미 메모리에 위치함 -> singleton은 new로 생성하기 전까지는 그냥 변수 자체만 있고 유일성이고 뭐고 없다. 즉, 원하는 시점에

: 객체 생성 로직을 한 곳(Factory)에 모아두고, 외부에서는 생성 방법을 몰라도 쉽게 객체를 만들 수 있도록 하는 패턴객체를 만드는 공장을 따로 둔다는 개념목적: 코드 중복 제거 + 생성 방식 변경 시 한 곳만 수정기본 예시사용추가 예시: 기존 객체의 기능을 상