본문 바로가기
프로그래밍/C#

c# 기본 문법 정리4

by -현's- 2012. 3. 8.
반응형

●추상클래스 - 추상메서드를 가진 클래스이다.
●추상메서드 - 처리를 명시하지 않고 호출한 쪽만 정의한 메서드
ex)
abstract class A{
   public abstract void Add();   // '{}'안쓰고 ';'으로 끝난다.
}



●추상클래스를 상속하여 객체를 생성하려면 다음과 같이 override붙인 멤버를 준비한다.
ex)
abstract class A{
   public abstract void add();
}
class B : A{
   public override void add(){
         ~~
   }
}




●인터페이스 - 추상메서드, 추상속성, 추상인덱서, 이벤트만 멤버로 가질 수 있다.
ex)
interface A{
   public abstract void a();
   public abstract int b{
      get;
      set;
  }
}
class B : A{
   public void a(){
       ~~
   }
   public int prop{
          get{
               return b;
         }
         set{
              b=value;
         }
    }
}



●인터페이스의 정의에서 모든 메서드는 public로 취급하므로 엑세스 수식자는 생략할 수 있다.
ex)
interface A{
    void a();
    int b{
      get;
      set;
   }
}



●인터페이스는 여러개 받을 수 있다.
ex)
class X : A, B, C{
    ~~
}


●인터페이스의 상속 - 인터페이스도 클래스처럼 상속하여 새 인터페이스를 만들 수 있다.
ex)
interface A{
    ~~
}
interface B : A{
    ~~
}



●터페이스는 여러개 상속가능하다.
ex)
interface X : A, B, C{
   ~~
}


●상속원본의 인터페이스와 상속대상의 인터페이스에 각각 같은 멤버가 있을 경우 상속대상의 추상멤버에 new를 붙인다. new 안 붙이면 경고 발생
ex)
interface A{
   void e();
   void f();
}
interface B : A{
   void a();
   new e();
}



●object클래스 - 모든 클래스의 기본이 되는 클래스이다. 모든 클래스는 object클래스를 상속하고 있다.



●박스화(boxing) - 값형의 데이터를 객체형 변수에 대입하는 것
ex)
int a = 10;
object obj;
obj = a;



●박스화 해제 - 객체형의 데이터를 값형에 대입하는 것, 형을 명확히 하기 위해 형변환 사용
ex)
object obj = 10;
int b = (int)obj;



●네임스페이스 - 같은 이름의 클래스 등이 경합을 일으키지 않도록 할 수 있게 한다.
ex)
namespace A{
    class Abc{
          ~~
   }
}



●네임스페이스 안에 속해 있는 클래스를 참조하려면 '.' 사용
ex)
A.abc;



●네임스페이스 안에 네임스페이스를 만들 수 있다.
ex)
namespace A{
   namespace B{
        ~~
   }
}

namespace A{
       ~~
}
namespace A.B{
      ~~
}


반응형

'프로그래밍 > C#' 카테고리의 다른 글

c# 기본 문법 정리5  (0) 2012.03.08
c# 기본 문법 정리3  (0) 2012.03.07
c# 기본 문법 정리2  (0) 2012.03.07
c# 기본 문법 정리1  (0) 2012.03.04

댓글