White Whale Studio

[C#] Class 본문

IT Engineering/C#.net

[C#] Class

glorymind 2012. 1. 4. 15:32
반응형

C# 언어는 C와 JAVA의 장점을 혼합한 객체지향 언어라고 할 수 있다.
언뜻보면 C같기도 하고, 언뜻보면 JAVA같은 모양새를 지닌 C#,
지금까지는 주로 윈도우 폼 프로그래밍을 주로 했었는데, 프로그램 저작의 깊이를 더하기 위해서 기본적인 개념부터 살펴보고자 한다.
오늘 살펴볼 내용은 Class 이다.

Class는 크게 보면 데이터 형식을 조합해서 만드는 복합 데이터 형식이다.
변수와 같은 데이터를 나타내는 필드와 함수(기능)을 수행하는 메소드로 구성된다.
class Cat //클래스 이름
{
      public string name;  // 필드
      public string color; // 필드
      public void fucntion()     // 메소드
      {
            Console.WriteLine("{0} : 야옹", name);
      }
}

클래스는 말하자면 붕어빵을 찍어내는 빵틀이라고 보면 가장 이해가 쉽다.
이 클래스라는 빵틀을 이용해서 생성되는 붕어빵을 실체(인스턴스)라고 부른다.

위와 같이 정의된 클래스를 이용하여 생성하는 인스턴스의 코드를 살펴보자.

Cat nero = new Cat(); // 인스턴스 생성
nero.name = "nero"; // 필드 초기화
nero.color = "black";
nero.meow(); // 메소드 호출

Console.WriteLine("{0}, {1}", nero.name, nero.color); // 생성된 인스턴스의 사용

this 키워드

this 키워드는 객체가 자신을 지칭할 떄 사용하는 키워드이다. 즉, 클래스 내부에서 자신의 필드나, 메소드를 명명하고자 할때 사용한다.
예를 들면,
class Employee
{
     private string Name;
     public void SetName (string Name)
    {
         this.Name = Name;
    }
}

빨간색으로 표시된 코드에서 보면
this.Name 은 Employee 클래스 내부에 정의된 필드 Name을 뜻하는 것이고 Name은 메소드 SetName을 통해 받게된 파라미터 Name을 뜻하는 것이다.
반응형
Comments