추상

    C++ 추상 클래스 / 순수 가상 함수 (Pure Virtual Function)

    순수 가상함수란 선언(declaration)만 있고 구현(definition)이 없는 가상 함수다. virtual void Func() = 0; 추상 클래스 위와 같은 순수 가상함수를 하나라도 가지고 있는 클래스를 추상클래스(abstract class)라고 한다. 추상 클래스는 객체를 생성할 수 없다. 추상 클래스는 멤버 함수의 원형만을 정의하고 그 구현은 자식 클래스에서 하게 된다. 추상 클래스를 상속받는 자식 클래스는 반드시 순수 가상함수를 오버라이딩 하여 재정의 해야만 한다. 그렇지 않다면 아래 그림과 같이 컴파일 오류가 난다. 이렇게 추상클래스를 활용하면 파생클래스에서 순수 가상함수를 재정의 하게끔 강제할 수 있다. #include using namespace std; class Parent { ..

    C# 추상 클래스 (abstract)

    추상 클래스(abstract class)와 추상 메서드(abstract method)이다. 추상 메서드는 abstract 예약어가 지정되고 구현 코드가 없는 Method이다. 추상 메서드는 반드시 추상 클래스 안에서만 선언할 수 있으며, 추상 메서드를 하나라도 가지고 있으면 추상 클래스로 만들어줘야 한다. 특징 추상 메서드에는 접근 제한자로 private를 사용할 수 없다. new를 사용해 인스턴스로 만들 수 없다 추상 메서드만을 가질 수 있다. abstract class Employee { public int EmpID { get; private set; } public long Salary { get; set; } public Employee(int empId, long salary) { EmpID ..