반응형
●속성 - 객체 안에 있는 필드의 값을 취득 또는 설정하는 메서드이다. 필드를 반환하는 get엑세서와 필드에 값을 대입하는 set엑세서로 구성된다. 자바에서 setter, getter랑 비슷한 개념이다
ex)
usting System;
class A{
public int a;
public int sok{
get{
return a;
}
set{
a=value;
}
}
}
A a=new A();
a.sok = 3; //따로 set, get을 표시하지 않고 그냥 입력 or 출력하면 된다.
Console.Write(a.sok);
●인덱서(indexer) - 객체를 배열처럼 취급하고자 할 때 사용한다. 속성과 같이 get, set으로 구성
ex)
using System;
class A{
int []a = new int[4];
public int this[int i]{
get{
return a[i];
}
set{
a[i]=value;
}
}
}
A a = new A();
a[0]=1;
a[1]=2;
a[2]=3;
a[3]=4;
for(int i=0; i<=3; i++){
Console.Write(a[i]);
}
●상속 - ' :부모클래스명'을 붙인다
ex)
class A{
~~
}
class B : A{
~~
}
●sealed - 상속되지 않도록 할 클래스는 sealed를 사용하여 봉인한다.
ex)
sealed class A{
~~
}
●클래스를 상속했을 때 부모클래스와 자식클래스 각각에 생성자가 있는 경우 부모클래스로부터 차레로 생성자가 작동한다.
●기본 클래스의 생성자를 호출
- 상속한 생성자에 인수가 있는 경우에는 다음과 같이 base를 이용하여 상속원본에 인수를 전달
ex)
using System;
class A{
public int x;
public A(int a, int b){
x=a+b;
}
]
class B : A{
public B(int c, int d) : base(c, d){}
}
●이름 은폐
- 자식 클래스의 멤버에 부모클래스의 멤버와 같은 이름을 붙이고자 할 경우에는 멤버의 정의 앞에 'new'를 붙인다.
여기서 new는 객체생성시 사용하는 new랑 다르다. new가 붙은 멤버를 호출하면 자식클래스 쪽의 멤버가 호출된다.
ex)
class A{
public int a=10;
}
class B : A{
new public int a=30;
}
●base - 이름이 은폐된 부모클래스의 멤버를 자식클래스안에서 사용할 때 사용
ex)
using System;
class A{
public int a=3;
}
class B : A{
new public int a=100;
public void print(){
Console.WriteLine(base.a);
}
}
●오버라이드
-상속한 메서드와 같은 이름, 같은 인수, 같은 반환값을 가지는 메서드를 해서 덮어 쓰는것. 오버라이드 되는 메소드에는 'virtual' 키워드를 붙이고 오버라이드 한 메소드에는 'override' 키워드를 붙인다
ex)
class A{
public virtual void bye(){
~~
}}
class B : A{
public override void bye(){
~
}}
반응형
'프로그래밍 > C#' 카테고리의 다른 글
c# 기본 문법 정리5 (0) | 2012.03.08 |
---|---|
c# 기본 문법 정리4 (0) | 2012.03.08 |
c# 기본 문법 정리2 (0) | 2012.03.07 |
c# 기본 문법 정리1 (0) | 2012.03.04 |
댓글