개발 공부/C# 기초 9

[C# 기초] 클래스(Class), 인스턴스(Instance), 인스턴스 생성

클래스(Class) 일종의 타입이자 틀. 인스턴스(Instance) 클래스를 객체로 만드는 과정(인스턴스화)을 통해 만들어진 객체. -> 데이터가 저장되어 있는 메모리의 주소값이 저장됨. 인스턴스 생성 (1)CLASSNAME (2)변수명 = (3)new (4)CLASSNAME(); (1) ‘CLASSNAME’이라는 이름의 클래스 자료형. (2) ‘CLASSNAME’ 클래스 자료형으로 선언한 ‘변수명’이라는 이름의 참조 변수. ⇒ 인스턴스 값(주소값)을 저장하는 변수. (3) 클래스의 객체(인스턴스)를 생성하기 위한 연산자. (4) new 키워드와 사용하여 ‘CLASSNAME’ 클래스의 객체(인스턴스)를 생성하는 생성자. 객체를 생성하는 역할. ‘변수명’은 new 연산자와 CLASSNAME()이라는 생성자..

[C# 기초] 자료형(값 형, 참조형), 메모리 구조(코드, 데이터, 스택, 힙)

C# 자료형 - Value Type, Reference Type 1) 값 형 (Value Type) 실제 데이터 값을 저장하는 자료형. ex) int, char, bool, enum, struct 등 2) 참조형 (Reference Type) 값이 저장되어 있는 곳의 위치(주소값)를 저장하는 자료형. ex) string, object 등 스택(Stack) 영역과 힙(Heap) 영역을 동시에 이용함. 스택 영역 - 데이터의 주소 저장. 힙 영역 - 데이터의 값 저장. 코드 블록이 끝나면 스택에 있는 데이터의 주소는 사라진다. 힙에 있는 데이터의 값은 남게 되는데 이때 GC(가비지 컬렉터)가 힙을 청소한다. C# 메모리 구조 - Code, Data, Stack, Heap 1) 코드(Code) 프로그램의 소스..

[C# 기초] 메서드 오버로딩(Method Overloading), 디폴트 매개변수(Default Parameter)

1. 메서드 오버로딩(Method Overloading) 데이터 타입이 다른 경우, 함수 이름이 같더라도 사용할 수 있다. → 컴파일러가 매개 변수의 형식과 개수를 분석하여 어떤 함수를 호출할 지 찾아낸다. public void Load(int num, bool loading = false) { Load(1.2); } public void Load(double num, bool loading = false) { ... } 2. 디폴트 매개변수(Default Parameter) 기본값이 제공된 매개변수 - 기본값 설정한 경우(디폴트 매개변수) //파라미터에 기본값 설정 public void Load1(int num, bool loading = false) { ... } Load1(1) //에러 X Load..

[C# 기초] ExpandoObject(인스턴스 생성/속성, 메서드, 이벤트 추가)

ExpandoObject 클래스 런타임(Run time)에 동적으로 추가 및 제거할 수 있는 멤버 개체. → 런타임? 더보기 https://it-amin.tistory.com/74 [C# 기초] 컴파일(Compile), 런타임(Run time) 컴파일(Complie) 소스파일을 기계어로 변환. 런타임(Run time) 컴파일을 마친 응용 프로그램이 동작되는 때(time). it-amin.tistory.com - 네임스페이스 System.Dynamic - 인스턴스 생성 dynamic 오브젝트명 = new ExpandoObject(); - 인스턴스에 속성, 메서드 및 이벤트 추가 속성, 메서드 using System; using System.Dynamic; dynamic Obj = new ExpandoObj..

[C# 기초] Dictionary(매개변수, 네임스페이스, 선언, foreach)

Dictionary 클래스 Dictionary - 키와 값의 컬렉션을 나타낸다. - 매개변수 TKey: Dictionary Key의 형식(Type) TValue: Dictionary Value의 형식(Type) - 네임스페이스 System.Collections.Generic; - Dictionary 선언방법 Dictionary 오브젝트명 = new Dictionary() //Dictionary 클래스를 인스턴스화하여 변수 a에 대입 const a = new Dictionary(); //선언, 정의, 초기화 동시에 const Obj = new Dictionary() { {key0, value0}, {key1, value1}. ... }; - 요소 추가 오브젝트명.Add("Key", "Value"); → A..

[C# 기초] 네임스페이스(namespace), using 지시문

1) namespace 관련 개체 집합을 포함하는 범위를 선언. namespace로 클래스 그룹을 분류. 2) using 지시문 네임스페이스에 정의된 형식을 해당 형식의 정규화된 네임스페이스를 지정하지 않고도 사용할 수 있다. → 단일 namespace에서 모든 형식을 가지고 온다. - using System : System 네임스페이스를 현재 CS 파일 또는 네임스페이스에서 사용한다. ex) using PC.MyCompany → PC라는 namespace와 중첩된 MyCompany라는 namespace를 사용할 수 있다. using System; namespace First { //중첩된 namespace namespace A { class ClassOfFirst { public void Print()..

728x90
반응형