목차
- 추상화 (abstraction) 정의
- 추상화 (abstraction) 예제
추상화 (abstraction) 정의
특정 세부 정보 숨기고 사용자에게 필수 정보만 표시.
1.
추상화는 '추상클래스'나 '인터페이스'로 달성 가능.
2.
abstract 키워드 : 클래스와 메소드에 사용되는 비접근 한정자.
추상 클래스 (Abstract class)
객체 만드는데 사용할 수없는 제한된 클래스.
※ 접근하려면, 다른 클래스에서 상속돼야 함.
추상 메서드 (Abstract method)
추상 클래스에서만 사용 가능하며, 본문이 없음.
※ 본문은 상속된 하위 클래스에서 제공.
3.
추상 클래스는 (추상/일반) 메서드 모두 보유 가능.
(예)
abstract class Site // 추상 클래스
{
public abstract void host(); // 추상 메서드
public void greeting() // 일반 메서드
{
Console.WriteLine("놀러오세요.");
}
}
4.
위 Site 추상 클래스로 객체 생성 불가.
(예)
Site my = new Site(); // 에러 유발.
5.
Site 추상 클래스에 접근하려면,
Site 추상 클래스를 상속하는 다른 서브 클래스 이용해야 함.
※ 클래스 상속은 콜론(:) 키워드 이용.
※ 기본 클래스 재정의는 override 키워드 이용.
추상화 (abstraction) 예제
파일명: Program.cs
using System;
namespace Homzzang
{
abstract class Site // 추상 클래스
{
public abstract void host(); // 추상 메서드
public void greeting() // 일반 메서드
{
Console.WriteLine("홈페이지 놀러오세요.");
}
}
class My : Site
{
public override void host()
{
Console.WriteLine("Homzzang.com");
}
}
class Program
{
static void Main(string[] args)
{
My my = new My();
my.host();
my.greeting();
}
}
}
결과값:
Homzzang.com
홈페이지 놀러오세요.
최신댓글