C# 6

(5) C# 기초 문법 - 연산자 오버로딩, foreach, 이터레이터, 가변배열 등

1. 연산자 오버로딩C#에서는 +, -, /, *, % 와 같은 연산자를 오버로딩 할 수 있다. 이를 이용하면 기본형이 아니여서 계산이 안되는 타입 역시 계산하는 것처럼 표현할수 있다. 객체를 선언하지 않고 일반 연산자처럼 사용하기 위해서 static 으로 선언해두는 것이 좋다.public [static] 반환타입 operator [+, -, /, *, %] (매개변수1, 매개변수2) {}이런 식으로 선언할 수 있다.class Car{ public string name; public string maker; public Car(string name, string maker) { this.name = name; this.maker = maker; } ..

공부/C# 2024.10.17

(4) C# 기초 문법 - 프로퍼티(속성), 인덱서

1. property(프로퍼티/ 속성)자바에서는 get/set 함수를 이용해 속성값을 바꾸거나 조회한다. 이를 좀 더 쉽게 구현하도록 만든 것이 프로퍼티라고 할 수 있다.클래스 내부, 메서드 바깥에    public  [반환 형식] 프로퍼티 이름 {get; set; }형식으로 선언한다. 이때 프로퍼티 이름은 속성 이름이나 논리적으로 속성을 나타내는 이름이 좋다.class Car{ private int wheelVar; public int Wheel{ get{ return wheelVar;} // 조회할때 자동 호출 set{ wheel = value; } // 대입할때 자동 호출 }}이런 식으로 선언하면 자동으로 프로퍼티를 조회하거나 호출할때 호출된다..

공부/C# 2024.10.16

(3) C# 기초 문법 - readonly, out, ref, 가변길이 매개변수 등

1. readonly 필드읽기 전용 필드. const 와 차이점은 선언시 초기화하지 않아도 된다. 다만, 한번이라도 초기화되어 값을 갖고 있으면 변경 불가능한 것은 같다.2. out 매개변수반환형 매개변수. 초기화 되지 않은 매개변수를 메서드에 전달하기 위한 키워드. 이때 해당 값을 의미있게 사용하고자 하면 메서드 내부에서 초기화해줘야 한다.public void TestMethod(out int num){ ... // out int 형식의 매개변수를 받는 메서드}static void Main(){ int num; TestMethod(out num); // 초기화되지 않은 매개변수 전달} 3. ref 매개변수참조 전달 방식. 기본형의 변수들은 메모리에 값을 저장하는 방식으로 저장됨. ..

공부/C# 2024.10.16

(2) C# 기초 문법 - namespace, 클래스, 구조체, static, 접근 제한자 등

1. namespace자바의 패키지와 대응되는 개념.namespace 이름 {}  형식으로 선언하며, 네임스페이스만 다르면 같은 이름의 클래스를 선언해도 충돌이 일어나지 않는다. using 지시문을 통해 외부 네임스페이스의 코드를 불러올수 있다. 2. 클래스class 이름 {} 형식으로 선언한다.  3. 구조체데이터를 하나의 이름으로 묶어 관리하는 역할을 한다. 힙이 아닌 스택 영역에 저장된다.struct 이름 {} 형식으로 선언한다. 4. 접근 제한자class, 변수, 인터페이스 등에 붙일수 있다.private: 같은 클래스 내부에서만 사용 가능.protected : 같은 클래스 내부, 또는 상속받는 자식 클래스 내부에서만 사용 가능.protected internal : 같은 어셉블리(dll 파일) 내..

공부/C# 2024.10.16

(2) C# 기초 문법 - 기본형, 변수, 상수, 문자

C#의 시작이 java 인 만큼, java 와 유사한 점이 많다.그렇기에 이 글에서는 c#의 세부적인 내용까지 모두 말하기보단, java와의 차이점을 중점에 두고 C# 만의 차별점을 말하고자 한다. 1. 다수의 변수 선언 및 초기화int a=b=c=d=10;C# 에서는 이런식으로 여러 변수를 한번에 선언과 동시에 초기화하는 것이 가능하다. 2. 상수const NAME = "홍길동";상수를 선언할때는 final 예약어 대신 JS처럼 const 를 사용한다. 3.  문자열string line = @"\안녕하세요\ 반가워요"이렇게 앞에 @를 붙이고 문자열을 적으면 공백, 특수 기호를 포함하여 문자열을 그대로 저장한다. 출력결과: \안녕하세요\                   반가..

공부/C# 2024.10.16

(1) C# 이란?

1. C#과거 마이크로소프트에서 JAVA 를 사용해서 개발했다. 그러나 MS 에서 자신들의 사정에 맞춰 JVM 에 기능을 추가했고, 이에 당시 JAVA 를 소유하고 있던 썬 마이크로 시스템즈에서 소송을 걸어 새롭게 만든 언어다.역사가 역사인 만큼 문법과 작동 방식 등이 JAVA 와 유사한 점이 많으며, java 보다 더 개발자 편의에 맞춰 발전시킨 부분도 존재한다.  2. .NET마이크로소프트에서 만든 개발 및 실행 환경이다.FCL(Framework Class Library)라는 이름의 공용 라이브러리와 CLR(Common Language Runtime) 이라고 불리는 VM(가상 머신) 이 합쳐진 것이다.C#, F#, VS 등의 언어로 작성된 코드는 컴파일되면 마이크로소프트사의 중간 언어로 변환되는데, ..

공부/C# 2024.10.16