IT Books/시작하세요 C# 프로그래밍(25)
-
5장 - 1
C# 1.0 특성 (attribute) /** author : Someone*/public class Everything{} 위 코드와 같은 주석을 남겼을때 이 주석은 빌드 과정을 거친 결과물인 exe / dll에는 전혀 남지 않게 된다.이런 문제를 해결해 주는 것이 특성이다. 닷넷의 어셈블리 파일에는 스스로는 기술하는 메타데이터가 있음어셈블리 내에서 구현하는 타입, 멤버등의 정보가 메타데이터임.특성도 이런 메타데이터로 분류. 특성은 사실 클래스.4장에 나왔던 [Flags] 특성은 FlagsAttribute 라는 클래스. 기본적으로 System.Attribute 클래스에서 파생된다. // 특성 클래스 정의 class AuthorAttribute : System.Attribute { } // [Author..
2014.11.21 -
4장 - 3
enum 정의시 [Flags] 특성 사용 가능enum타입의 인스턴스가 여러개의 값을 포함하는 용도로 쓰일때 [Flags] 특성 사용. enum Days{Sunday = 1,Monday = 2,Tuesday = 4,Wednesday = 8,// ...} 이런 정의가 있고Days dday = Days.Sunday | Days.Monday;Console.WriteLine(dday)의 결과는 3이 나온다. [Flags]enum Days...로 정의하면 같은 코드의 결과값이Sunday, Monday로 나오게 된다. Event 인덱서
2014.11.20 -
4장 - 2
인터페이스추상메서드를 0개 이상 담고 있는 추상 클래스 라고 간단히 이해하면 편함. abstract class DrawingObject { public abstract void Draw(); public abstract void Move(int offset); } interface IDrawingObject { void Draw(); void Move(int offset); } C#에서는 다중상속이 불가능하기 때문에 클래스가 아닌 인터페이스로부터 상속을 받아 사용이 가능하다. class Computer { } interface IMonitor { void TurnOn(); } interface IKeyboard() { } class Notebook : Computer, IMonitor, IKeyboard..
2014.11.16 -
4장 - 1
System.Object모든 타입의 조상이다. 클래스를 정의할 때 특별히 명시적인 부모를 정의하지 않으면 C#컴파일러는 기본적으로 object를 상속받도록 해준다. object는 자체가 참조형이지만 값 형식의 부모이기도 하다.다만 닷넷에서는 둘 사이의 큰 차이 때문에 모든 값 형식은 System.ValueType을 강제로 상속받게 하고 있다. object는 다음과 같이 정의되어 있다. public class Object { public virtual bool Equals(object obj); public virtual int GetHashCode(); public Type GetType(); public virtual string ToString(); } 이 메서드들 중 Equals와 GetHashCo..
2014.11.15 -
시작하세요 C# 프로그래밍 3장
3장 데이터 타입c#에서의 기본 제공 타입 int, string등은 닷넷프레임워크가 제공하는기본 타입을 이름재정의 한 것에 불과닷넷에서 변수의 종류는 값 타입과 레퍼런스 타입으로 나뉨.string, 배열, 클래스, object는 모두 레퍼런스 타입.초기화레퍼런스 타입 - 초기화 되지 않은 모든 레퍼런스 타입은 null을 가지게 된다.값 타입 - 닷넷은 메모리가 할당되고 개발자가 명시적으로 초기화 하지 않는 이상 무조건 0으로 초기화한다.배열2차원 이상의 배열의 초기화int [, ] arr = new int[10, 5];// 2차원 배열위와 같이 콤마(,)로 차원을 구분한다.가변 배열C++에서의 배열포인터를 생각하면 편하다.int[][] arr = new int[5][];arr[0] = new int[10..
2014.11.09 -
시작하세요 C# 프로그래밍 2장
2장 C#컴파일러 위치- Windows\Microsoft.NET\Framwork\v4.030319- Windows\Microsoft.NET\Framwork64\v4.030319csc.exe디컴파일도 가능Terelik JustDecompile
2014.11.09