반응형
●추상클래스 - 추상메서드를 가진 클래스이다.
●추상메서드 - 처리를 명시하지 않고 호출한 쪽만 정의한 메서드
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 |
댓글