c# 클래스 (5)

#1. 분할 클래스

분할 클래스는 여러 번에 나눠서 구현하는 클래스를 말한다. 분할 클래스는 그 자체로 어떠한 특별한 기능을 하는 것은 아니지만, 클래스의 구조가 매우 클 경우에는 코드 관리의 편의 성을 위해서 그 존재의 의미가 있다. 분할 클래스는 partial키워드를 이용해서 작성한다.

public partial class myclass{
        public void dowork(){}
        public void dowork1(){}
    }
    public partial class myclass{
        public void dowork2(){}
    }
당연하겠지만 나눈 클래스의 이름은 동일해야 한다. 분할된 클래스를 사용하는 방법은 일반 클래스를 사용하는 방법봐 다르지 않다. 그냥 쓰면 된다.

#2. 확장 메소드


확장 메소드는 기존에 만들어 놓은 메소드의 기능을 학장하는 것을 말한다. 상속과는 엄연히 다르다.

public static class 클래스이름
{
   public static 반환형 메소드이름(this 대상형식 식별자, 매개변수)
   {
      //
   }
}

확장 메소드는 static 한정자로 수식을 해야 하며, 첫 번째 매개변수는 반드시 this키워드와 함께 확장하고자하는 클래스(형)의 인스턴스여야 한다. 확장 메소드를 만들기 위해 만든 클래스 역시 static 한정자로 수식을 해줘야 한다.

#3. 구조체


구조체(Structure)는 클래스와 아주 유사한 성격을 하고 있다. 구조체 역시 클래스와 동일하게 필드와 메소드를 가질 수 있다. 구조체는 Struct 키워드를 이용해서 선언한다.

Struct MyStruct
{
   public int field;

   public void method();

}

클래스의 경우는 참조형식이지만 구조체는 값형식을 하고 있다. 때문에 구조체는 인스턴스의 사용이 끝나면 즉시 메모리에서 제거되는데, 이는 가비지 컬렉터를 쓰지 않기 때문에 클래스에 비해 성능상의 이점을 얻을 수 있게 된다.

Post a Comment

다음 이전