Loading...
2009.02.12 02:07

클래스를 구현해 보자.

자~클래스는 멤버변수와 벰버함수 즉 메소드로 구성되어 있는데요. 클래스 형태를 먼저 살펴보죠. public class Hello { } 위에서 public 은 접근자를 나타낸답니다. 클래스를 어떻게 접근할 건지.. 여자에게 다가갈때도 남자들은 어떻게 접근할 건지 생각을 많이 하죠? 클래스 접근하는 방법이 여러가지가 있습니다.(연애학이 아닌데 ^^;) - public : 어디서든지 접근가능..(성격이 털털하니 접..

멤버변수와 멤버함수(메소드) 설명

클래스는 전에 말씀드렸지만, 어떤 역할을 하느냐, 어떻게 동작을 하느냐를 표현하는데요. 자~ 자동차를 보면 이름이 있고요. 색깔도 있죠. 여러가지 자동차가 있죠. 티코, 레간자 등 많은 차가 있죠. 색깔도 빨간색, 파란색, 검은색, 흰색 등이 있죠. 자동차로 인해 여러가지 변할 수 있는 것은 변수로 처리하죠. 이런것들을 멤버변수라고 하고요. 자동차는 굴러가죠. 앞으로 갔다가 후진도 하고요. 돌기도 하나요? 이런 것 처럼 동작을 하는 것을 ..

객체와 클래스란 도대체 뭘까요?

간단히 저번 강좌에서 말씀을 드렸지만, 객체지향적 프로그래밍을 하다보면 객체와 클래스라는 말이 많이 나오며, 정확한 뜻도 모르고 객체지향 프로그램밍 소스를 접하게 되면 많은 어려움이 생기죠.(제가..그랬어요..ㅜ.ㅜ) 그럼 먼저 객체지향프로그래밍이 뭘까요? 미국넘이 만들었으니 영어에 무슨 뜻이 있겠죠. object oriented programming 이라고 하네요. 머리만..딱 가져오면 OOP 죠. OOP 상대적인 말은 C 언어와 같은 절차지..

2009.02.12 01:58

C# 의 콘솔 입출력에 대한 설명

이번은 콘솔부분에 대해 설명해볼려고 합니다. 콘솔 윈도우로 부터 결과값을 출력하는 기능은 닷넷 클래스에서 제공합니다. 따라서 그 중에 System.Console 이라는 클래스에서 제공을 해줍니다. 출력을 하기 위한 두가지 메소드가 있답니다. 하나는 Console.Write() 이고요. 또 하나는 Console.WriteLine() 입니다. Console.WriteLine() 메소드는 출력 후 한칸 내립니다. 값을 출력..

2009.02.12 01:54

C# 의 점프명령문에 대한 설명

점프(jump) 명령문? 이건 뭘가요? 1) goto 문 2) break 문 3) continue 문 4) return 문 흠...1번?goto 문인데요. basic프로그램에서 많이 본 거랍니다. ^^; 이건 c# 에서 하는 역할은 점프를 한답니다. 점프를 어떻게 하는지 살펴보죠. 1) goto 문 파란줄로 그은 선은 출력이 되지 못하고 goto 문에 의해 희생된 소스이죠. 파란줄로 긋지 않은 문은 실행이 되어..

C# 의 do while 조건문에 대한 설명

do while 문은요. while 문하고 거의 동일한데요. 차이점이 하나 있답니다. ^^; 루프내에서 명령문이 최소한 한번정도는 실행을 한 후, 그 다음 조건에 맞게 실행을 한다는 점이죠. ■ 생김새는요... do {     //한번은 그냥 뽀너스로 출력되고 다음부터는 true 일 경우 실행 } while (조건) ■ 소스 분석해보죠. int a = 0; do {    Console.WriteLine(a);    a+..

C# 의 while 조건문에 대한 설명

while 은 영어로 ~ 하는 동안이라는 뜻인데요.. 무엇을 하는 동안일까요? 조건의 값이 만족할 때 까지 실행하는 조건문입니다. ■ 형태를 볼까요? while (조건) { //true 일때 실행 } ■ 소스를 볼까요? int a = 0; while (a<100) {     Console.WriteLine(a);     a++; } a가 100이 되면 실행되지 않고 빠져 나옵니다. 0~99까지 출력이 되겠지..

C# 의 For 반복문에 대한 설명

for 루프 반복문에 대해 알아보죠. 루프를 통해 반복 작업을 행하는데 간단한 구조를 가지고 있답니다. 정해진 횟수만큼 실행문이 반복될 겁니다. ■ 형태를 살펴보죠. for (int i=0; i<10; i++) { //10번 반복을 합니다. } 루프는 검사 조건이 false 일 경우 끝이 납니다. ■ 다중 for 문을 볼까요? for (int i=0; i<10; i++) {   for (int j=0; j<..

C# 의 switch 조건문에 대한 설명

if 조건문과는 다르게 각각 다른 결과값을 얻을 수 있습니다. 구조는 switch - case 문의 형식을 취하며, 하나의 switch 문과 여러개의 case 문으로 구성되어 있답니다. 값이 일치되면 case문이 실행되고, break 키워드를 넣어주면 끝납니다. 조건문에 맞지 않을 경우에는 default case 를 추가해 주면 됩니다. ■ 예를 살펴보죠. switch (digit) {    case 1 :    Console.W..

2009.02.12 01:40

C# 의 if 조건문에 대한 설명

C#의 조건문에 대해 알아보도록 하죠. ■ 제일 먼저 제일 IF 문에 대해서 설명해 보도록 하겠습니다. 이는 조건적으로 분기시키기 위해서 c,c++ 과 동일하게 if - else 문을 사용합니다. if(조건) {       //참일경우 실행 } else {       //거짓이거나 그밖의 경우일 경우 실행 } else 문 없이 ..

2009.02.12 01:38

C# 의 연산자 우선순위 설명

연산자는 일반적으로 여러 다른 연산자와 같이 사용하는 것이 가능하므로, 그것에 대한 우선순위 또한 상당히 중요합니다. 괄호 하나의 실수로 프로그램 전체를 망칠 수도 있는 것이죠. 연산자의 우선 순위를 살펴봅시다. posted by 심재운 (shimpark@gmail.com)

C# 의 is, sizeof 와 typeof 연산자 설명

- sizeof 의 연산자는 stack에 저장된 값형식의 크기를 바이트단위로 알기 위해 사용하는 연산자 입니다. string a = "csharp.zoa.to"; unsafe {        Console.WriteLine(sizeof(int)); } c# 컴파일러가 안전하지 않은 코드는 컴파일을 하지 않기 때문에, 명령문 컴파일러에 /unsafe 옵션을 넣어서 컴파일을 해야 합니다. - typeof 연산자는 특정 데이터형식..

C# 의 checked 와 unchecked 설명

말씀을 간단히 소개한적 있지만, 여기서 좀 자세히 설명을 하죠. byte a = 255; a++; Console.WriteLine(a.ToString()); //에러발생 이렇게 할 경우, 오버플로어가 발생되죠. 따라서 이런 문제점을 항상 확인하고자 할 경우, checked 와 unchecked 라는 연산자를 이용하여 확인이 가능합니다.  byte a = 255; checked {     a++; } Console.WriteLine..

C# 의 삼항연산자에 대한 설명

삼항연산자는 java 또는 c#에서 볼 수 있는데요. if 문에서 볼 수 있죠. if ~ else 문을 줄인 형태입니다. 형식) 조건 ? 참 : 거짓 조건이 참이면 "참"에 있는 값이 실행되고, 거짓이면 "거짓"에 있는 값이 실행됩니다. string shim = "천재"; Console.WriteLine(shim == "천재" ? "천재" : "바보"); 당연히 "천재"라는 값이 나오겠죠? ^^; posted by 심재..

2009.02.12 01:22

C# 의 연산자 종류에 대한 설명

연산자(Operator)란, 프로그램에서 변수나 값의 연산을 위해 사용되는 부호를 말합니다.  쉽게 말하면, +, -, *, / 등이 연산자의 예가 될 수 있습니다. 대입연산자의 경우 위에서 살펴본 여러 연산자와 결합하여 축약되어 표시되는 경우가 많습니다.  다음... 이를 표로 정리하였습니다. posted by 심재운 (shimpark@gmail.com)

2009.02.12 01:20

C# 의 상수(constant)에 대한 설명

상수에 대해 알아보죠. 상수는 말그대로 변경 불가능한 수라는 뜻입니다. 변수와 상극이죠. ^^; 변수 앞에 const 라는 키워드를 붙이면 끝입니다. 따라서 읽기전용 필드라고 말하곤 합니다.  상수는 지역변수에도 선언을 할 수 있고요. 꼭 초기화를 해주어야 하고요. const int a = 200; 상수를 이용하면 좋은 이점은 어떤것이 있을 까요? 숫자나 문자열을 대신하여 값에 대한 의미를 쉬운 이름으로 하기 때..

2009.02.12 01:17

C# 의 정적변수와 인스턴스변수 설명

이번에는 static 변수와 instance 변수에 대해 살펴보죠. static 변수는 static 으로 선언하여 메소드가 속한 클래스를 인스턴스화하지 않고도 접근이 가능합니다.  소스를 보죠. 곧바로 클래스를 접근하여 변수를 호출할 수 있죠? 따라서 이는 하나의 복사본만 생긴다는 의미있겠죠. ^^; 인스턴스 변수는 일반적인 변수이며, 필드가 속한 클래스의 변수의 복사본이 발생된다는 점이 정적메소드 즉 static 변수와 다른..

2009.02.12 01:13

C# 의 변수한정자(variable modifier) 설명

변수를 선언할 때 변수가 가질 수 있는 다양한 특성을 함께 지정해 줄 수 있습니다. 엑세스에 따라 한정자를 이용하여 구현할 수 있습니다. - internal - new - private - protected - public - readonly - static 이에 대해 설명을 하자면... new 연산자는 다른 클래스로부터 상속받은 클래스에서만 사용이 가능합니다. public 은 어디서든 변수에 엑세스가 가능하며, internal ..

C# 의 Boxing, Unboxing 설명

이번엔 boxing, unboxing 에 대해 살펴보죠. value 형식을 reference 형식으로 코딩할 수 있습니다. 또한 반대로 reference 형식을 value 형식으로 코딩할 수 있죠. value -> reference 로 변환하는 것을 boxing 이라고 하며, reference -> value 로 변환하는 것을 unboxing 이라고 합니다. //boxing 예제 int i = 20; object o = j; ..

C# 의 형식변환(type conversioin) 설명

형식변환에 대해 살펴보죠. 형식변환이란 가끔 데이터 형식끼리 변환해야 할 필요가 있을 때가 있죠. 그럴때 사용합니다.형식변환에는 2가지로 분류할 수 있는데요. 암시적 형식 변환, implicit type conversion 이라고 하며, 명시적 형식 변환, explicit type conversion 이라고 합니다. 1) 암시적 형식변환데이터 형식끼리 변환을 하고자 할 경우, 값이 변하지 않는다는 보장이&..

2009.02.12 01:03

C# 의 배열(array)에 대한 설명

이번은 reference 형식 중 하나인 Array, 배열에 대한 설명을 하고자 합니다. 여러분들도 아시겠지만, 배열이란 하나의 변수이름으로 여러개의 독립공간을 가지는 변수를 칭합니다. 그럼 배열 변수 선언은 어떻게 할까요? - 선언방법 : int[] integers; int[] 은 정수의 배열을 나타내고 있죠. - 배열의 초기화 :  integers = new int[50]; 50여개의 정수를 가지는 새로운 배열을 만듭니다. new..

C# 의 Reference Type 에 대한 간략설명

저번 강좌에서는 value type 즉, 값형식에 대해 설명을 했습니다. 값 형식에는 구조체와 열거형 두가지가 있었죠. 이번 강좌는 reference type 인 참조형식에 대한 설명을 하고자 합니다. reference type 은 class, interface, delegate , array 등이 있으며, 차례대로 하나씩 간략하게 설명하고 다음 강좌부터 하나씩 소스 분석해 보겠습니다. 1) 클래스 클래스는 사..

C# 의 열거형(enumeration) 에 대한 설명

이번에는 열거형에 대해서 살펴보죠. 열거형이란 무엇일까요? 우선 닷넷프레임웍에서 발췌한 것을 한번 살펴보죠. System.Enum에서 상속되어 내부 기본 형식 값에 대한 별칭을 제공하는 특별한 유형의 값타입입니다. 열거형은 이름, 내부 형식 및 필드 집합을 가지며, 내부 형식은 기본 제공되는 부호 있는 정수 및 부호 없는 정수 형식(Byte, Int32, UInt64 등) 중 하나여야 합니다. 각 필드는 상수를 나..

C# 에서 구조체를 사용하는 이유

이번에는..구조체를 c#에서도 사용을 하고 있는데요. 굳이 클래스를 사용해도 되지만, 구조체를 사용하는 이유는 뭘까요? 구조상으로는 ... 클래스와 동일하답니다.  그러나 상황에 따라서 클래스의 효율적이지 못한 것을 구조체가 해결해 주거든요. ^^; 프로그램을 하면서 제일 중요한 부분이 공간낭비를 축소하고 작성시 시간적인 낭비를 줄이기 위해서는 클래스를 사용하기 보다는 구조체를 사용하는것이 메모리를 줄이는데 ..

Class 와 Method 에 대한 설명

클래스는 하나의 객체를 구현하는 단위래요..객체 프로그램에서 객체를 코드로 구현할때 클래스로 표현해요.그리고 중요한건 반드시 클래스 안에 있어야 되요..모든 코드가 말이죠. 그래서 이 안에 Main 메서드를 정의한 것이죠..  다른 방식으로 말하면, 데이터타입을 만드는 생성도구라고도 할 수 있답니다. 데이터타입이라고 하면 int,string, char 등을 말하죠. 이것들은 이미 정의되어 있기 때문에 변경이 불가능하지만, 사용자가 스스로 데이..

변수(variable) 에 대한 설명

변수에 대해서 이야기 하고자 합니다. 변수는 처음 보신 분은 수가 변한다? 뭐가 변한다는 거지? 라는 생각이 들겁니다. 수학공부를 하신분이라면 오해를 할 수 있지만, 대충 이렇게 생각해보죠. 변수란 어떤 값을 넣은 그릇이라고 말이죠. 타입과 이름을 사용해서 간단하게 변수를 선언하는 것을 봅시다.  int age;  그러면 배정연산자인 = 를 사용해서 변수에 값을 넣을 수 있어요..  age = 25 ; //25라는 값을 age 라는..

Value 와 Reference 의 차이점

value 와 reference 의 차이점을 알기 위해서는 간단한 소스로 결과값을 알면 이해가 가실 겁니다.  public static void Swap(int a, int b)  {       int temp = a;       a = b;       b= temp;  }  public static void Main()  {       int a = 100;       int b = 200;      Console.WriteLine("(..

static 키워드에 대한 설명

static 키워드는 무슨 역할을 할까요? 처음에 저도 많이 혼동했던 부분인데요. 영어 뜻은 정적이라는 뜻이죠. c#에서는 static 이 모든 클래스에서 공유하기 위한 맴버를 선언시에 사용합니다. static 를 사용하게 되면 프로그램 내에서 하나의 메모리를 생성하여 모든 객체에서 공통적으로 사용하는 전역변수의 개념으로 사용할 때 사용됩니다. 이는 유일무의한 하나의 메모리만을 생성합니다. 모든 객체에서 공통으로 사용하는 전역변수의 개념으로 ..

2009.02.12 00:19

Main() 메소드에 대한 설명

c# 의 코드에는..모든 애플리케이션에 Main() 메소드가 존재한답니다. 자바에도 main()메소드가 있고, c#은 Main()메소드가 존재하듯이, 이는 실행파일이면서 없을 경우 프로그램은 컴파일이 되지 않고, 에러창이 뜨는데요. "프로그램 진입점이 없다"라는 에러가 발생되지요. 따라서, 제일 중요한 부분으로써, 컴파일을 할경우 아무런 옵션을 주지 않으면 프로그램은 알아서 Main()메소드를 찾아 진입점으..

using 키워드에 대한 설명

using 에 대해 설명을 하죠. c# 소스를 코딩하다보면 using 이라는 키워드가 많이 쓰입니다. 말 그대로 사용하겠다는 의미인데요. 무엇을 사용하겠다는 건지를 알아보죠. 닷넷프레임웍은 수많은 클래스 라이브러리를 제공하고 있으며, 자주 쓰이는 라이브러리의 클래스들을 라이브러리 이름을 붙여서 길게 쓰지 않고 간단하게 클래스 이름만으로 사용하겠다는 의미에서 붙여진 using 키워드입니다. 이제 무슨 말인지 아시겠죠? using 문을 사용하면 ..