네임스페이스 선언으로 별칭을 만들어 사용할 수 있습니다..NET Framework 클래스에서는 네임스페이스를 사용하여 자체 클래스를 조직화 하여 대형 프로젝트에서 클래스와 메서드 이름의 범위를 쉽게 제어 할 수 있도록 고유한 네임스페이스를 정의하여 사용됩니다.또한 네임스페이스 내에 중첩되어 사용되기도 합니다. Program.cs using System; using Hyundai.Weight; using hw = Hyundai.Weight; //축약형 using Hyundai.Weight.New; //전체 public class 네임스페이스 { public static void Main() { Console.WriteLine("네임스페이스.클래스.멤버"); Hyundai.Sonata sonata = new..
Program.cs using System; using Hyundai; public class 클래스복습 { public static void Main() { Car car = new Car("현대"); car.Length = 2; //2대 car[0] = "에쿠스"; car[1] = "제니시스"; car.Show(); //에쿠스,제니시스 //예3 CarHandler ch = new CarHandler(car.Show); ch(); //예4 car.Go += car.Show; car.OnGo(); } } Car.cs //네임스페이스 추가 namespace Hyundai { using System; //Class public class Car { private string name; //Field publ..
무명(익명 : Anonymous Method) : 대리자에 등록되는 메서드 중 간단한 기능이면서 생략해서 사용하고자 할 때 사용되며 메서드의 역활을 할 수 있도록 하는 것입니다. Program.cs using System; namespace 무명메서드 { //[3]대리자 선언 public class Button { //SayHandler 대리자타입 사용으로 Click 이벤트 생성 public event SayHandler Click; //이벤트 발생 메서드 (이벤트 핸들러 생성) public void OnClick(string msg) { if (Click != null) { Click(msg); } } } public delegate void SayHandler(string mag); public cl..
제네릭메서드는 형식 매개변수 T를 사용, 여러개의 매개변수를 동시 처리 가능 Program.cs using System; public class 제네릭메서드 { public static void Swap(ref T a, ref T b) //T 제네릭으로 t자리 int { T temp = a; a = b; b = temp; } public static void Main() { //[1] Input string[] data = { "a", "z", "d", "e", "c" }; //[2] Process : Sort for (int i = 0; i < data.Length - 1; i++) { for (int j = i + 1; j < data.Length; j++) { if (String.Compare(da..
delegate의 일부분인 Event라는 것이 있습니다. 이벤트는 하나의 상의 이벤트 처리 메서드로 참조를 가질 수 있어 이벤트에 대해 등록된 이벤트 처리기 목록을 유지하여 이벤트를 발생시킨 클래스의 발송자 역활을 합니다. [MSDN] A. 자 동차 설계도로부터 하나의 빨간색 스포츠카(속성) 자동차(객체, 개체)를 만들어서 시동 걸고(생성자) 전진 및 좌회전(메서드)를 하면서 가끔은 대리운전(대리자)도 부르고, 그러다가 과속(메서드)이라는 기능 수행 결과 교통사고 (이벤트)사고가 발생해서 그나마 멀쩡한 카 오디오(필드)는 중고로 팔고 폐차 (소멸자)했다. Program.cs using System; public class 이벤트 { public static void Main() { //다중메서드 호출 H..
한 번의 호출로 하나 이상의 메서드를 대신해서 호출 하는 개념을 가지고 있어 델리게이트는 객체 지향적으로 클래스 안에 있는 메소드를 가리킬 수 있습니다. 직접적이 아닌 간접적으로 대신 호출해서 사용 할 수 있습니다. (여러개를 처리 할 때 사용) delegate.cs using System; public class 대리자 { //[!] 대리자 선언 public delegate void GoHome(); //매개변수가 없는 대리자 생성 //예제2 public delegate void Gop(int a); //매개변수가 있는 대리자 생성 //예제3 public delegate int Hap(int a, int b); //반환값이 있는 대리자 public static void Main(string[] args..
정수형 값이 저장된 두개의 배열을 더하여 하나로 묶은 다음 배열안에 있는 정수형 값을 작은 숫자 부터 큰 숫자까지 나타내는 예제 입니다. MEARGE.cs using System; public class MEARGE { public static void Main() { //[1] Input : 원본 데이터가 정렬되어있다고 가정 int[] first = { 1, 3, 5 }; int[] second = { 2, 4 }; //Mearge될 배열 int[] mearge = new int[first.Length + second.Length]; //병합정렬코드 int i = 0; int j = 0; int k = 0; int M = first.Length; int N = second.Length; //[2] Pr..
배열에 저장된 값중에 짝수인 정수를 찾는 예제로 배열에 저장된 값중에서 짝수인 정수가 총 몇개인지 구하는 예제입니다. 여기서 사용된 키워드는 Count입니다. Count는 증가한다는 뜻으로 사용됩니다. Count.cs using System; public class 카운트 { public static void Main(string[] args) { //[1] Input int[] data = { 10, 9, 4, 7, 6, 5 }; int count = 0; //카운트 저장 //[2] Process : COUNT for (int i=0; i < data.Length; i++) { if (data[i] % 2 == 0) { count ++; //카운트 증가 } } //[3] Output Console.Wr..
배열에 저장된 값들 중에서 사용자가 입력한 값이 저장된 배열에 몇번째 위치에 있는지를 찾는 예제 입니다. 예제1에서는 순차적인 앞에서 부터 차례대로 검색하는 방법이고, 두번째 예제2는 사용자가 입력한 값을 가지고 중간 배열부터 찾는 예제 입니다. 속도면에서는 예제2가 빠릅니다. Serch.cs using System; public class 이진검색 { public static void Main() { //[1] Input int[] data = { 1, 3, 5, 7, 9 }; Console.WriteLine("찾을 데이터 : "); int search = Convert.ToInt32(Console.ReadLine()); bool flag = false; //찾았으면 true 그렇지않으면 false i..
인덱서 란 배열과 같은 방식으로 { } 사이에 값을 지정해서 사용하는 속성입니다. 속성과 다른점은 인덱서는 접근자에 매개 변수가 있습니다. Indexer.cs using System; public class Indexer { public static void Main(string[] args) { #region Car Car hyundai = new Car(3); //생성자 필요 hyundai[0] = "에쿠스"; //인덱서 필요 hyundai[1] = "소나타"; hyundai[2] = "산타페"; for (int i = 0; i < hyundai.Length; i++) //Length 속성 필요 { Console.WriteLine(hyundai[i]); } #endregion Person saram ..
정수형 인덱서와 문자열 인덱서를 배열에서 번호를 부여해서 사용하기 위한 방법입니다. Program.cs using System; public class 정수형인덱서와문자열인덱서 { public static void Main(string[] args) { Record r = new Record(); r.SetNum(1); r.SetData("홍길동"); Console.WriteLine(r[1]); Console.WriteLine(r["name"]); Console.WriteLine(r.GetData(1)); } } Record.cs using System; using System.Collections; public class Record { private int num; private string name..
속성은 메서드와 같은 개념을 가지며 private값(필드값)을 얻어오거나 설정기능을 가집니다.public{ get { retrun 멤버변수; } set { [멤버변수 = value; }}속성의 프로시저의 구조로는 get과 set 구조를 가지고 있습니다.기본구조private string _Color;public string Color{ get { return _Color; } ->get만 사용하면 읽기전용 set { _Color = value; } ->set만 사용하면 쓰기전용} Property.cs using System; public class Property { public static void Main(string[] args) { //예제1 Car sonata = new Car(); sonata...
동일한 이름으로 다른 기능을 갖고 있는 것을 메서드 오버로드라 한다. 동일한 메서드의 이름을 사용하고자 할 때 메서드의 이름이 동일해도 매개변수의 인자수 또는 타입형이 다르면 상관없다. Overload : 다중정의(어러번 정의) Override ; 재정의 (다시 정의) using System; public class 메서드오버로드 { public static void Main(string[] args) { Sum(100); // 1~100까지 합 Sum(10, 20); //10~20까지 합 Sum(1, 100, 2); //1~100까지 2의 배수(짝수의 합) } private static void Sum(int p, int p_2, int p_3) { int sum = 0; for (int i = p; i
메서드(함수란)? 메서드란 어떤 값을 받아서 그 값을 가지고 가공을 거쳐 어떤 결과 값을 반환시켜주는 코드입니다. 동일한 코드를 반복하여 사용할 수 있도록 하나의 이름으로 만들어 놓은 코드의 집합이라고 볼 수 있습니다. 어떤 특정한 로직을 모아놓은 프로그램 코드로 정해진 작업을 수행하기 위해 그룹으로 코드처럼 묶어 클래스안에서 정의하여 사용됩니다. 호출되는 메서드는 public 키워드로 선언되어야 합니다. 그림으로 표현 using System; public class 메서드 { public static void Main(string[] args) { int a = 10; int b = 20; int c; //초기화하지 않음 => 어차피 Test에 의해서 초기화된다면........ Test(a, ref b..
소멸자/파괴자로 불리는 Destructor가 있습니다. 생성자의 반대되는 것으로 클래스의 인스턴스를 소멸하는데에 사용됩니다. 소멸자는 '~' 붙여서 사용합니다. Programe.cs using System; public class Car { //[2] Field private string name; //[3] Method public void Run() { Console.WriteLine("{0} 자동차가 달립니다",name); } //[4] Constructor public Car() { } public Car(string name) // 매개변수가 있는 생성자 { this.name = name; } //[5] Destructor 소멸자(파괴자) ~Car() //마지막에 생성된것이 먼저 소멸 (변수명은..
Copyright © 2016 by WaaNee. All Rights Reserved.