Categories: Java 언어Korean

Java 총 정리[74. abstract class]

abstract class

이전 걸음에서 추상화에 대한 기본적인 개념을 보고 꼭 알아두어야 하는 내용들을 공부를 했습니다. 추상화에 대한 내용이 모두 한 것이 아니지만 이번 걸음과 다음 걸음을 통해서 같이 공부를 한다면 추상화를 완벽하게 이해를 하실 수 있습니다.

이번 걸음에서는 abstract class에 대해서 배워 보도록 하겠습니다. 추상화를 할 수 있는 class에 첫 번째인 abstract class를 이번 걸음에서 같이 공부를 하신다면 abstract class를 완벽하게 이해를 하실 수 있습니다.

abstract class의 정의를 다시 한번 자세히 설명을 드리고 예제 소스를 통해서 Java에서 어떻게 사용이 되는지 확인을 하실 수 있습니다. 이번 걸음에서 abstract class의 내용과 활용에 대해서 확실히 이해를 하실 수 있습니다.

abstract class 란?

abstract class는 일반 class의 속성이나 기능을 모두 똑같이 가질 수 있습니다. 하지만 abstract class는 abstract method를 가지고 있을 수 있습니다. 꼭 abstract method를 가지고 있어야 하는 것은 아니지만 그렇게 사용을 하려면 일반 class를 사용을 하는 것이 낫습니다. 마지막으로 abstract class를 상속을 받는 class는 무조건 abstract method를 Overriding을 해줘야 합니다. 일반 method는 Orverriding은 선택 사항입니다.

abstract class 예제

    
abstract class A{
    멤버변수 or 일반 메소드 선언도 가능합니다.
    // 추상 메소드
    abstract void abc();
}
Class B extends A{
    void abc(){ // 부모 추상화 클래스의 메소드를 재정의를 필수로 해야 합니다.
        System.out.println(“abc”);
    }
}

public class Test{
   public static void main(String[] args){
      A a = new A(); // abstract class는 객체를 만들 수 없습니다.
      A a1 = new B();// 가능
      B b = new B(); // 가능
   }
}
    

위의 예제 소스를 참고해서 abstract class를 상속을 받아서 사용을 할 수 있습니다. abstract class도 class이기 때문에 class B는 다른 class를 상속을 받을 수 없습니다.

Dolphin

Recent Posts

Java 총정리[97. Java GUI]

Java GUI Java GUI에 대해서 이번 걸음에서 배움으로써 GUI에 전반적인 지식과 Java GUI를 구현하는 방법…

4개월 ago

Java 총정리[96. Java TCP 통신 프로그램 구현]

Java TCP 통신 프로그램 구현 Java TCP 통신 프로그램 구현을 위해서 이전 걸음에서 쓰레드에 대한…

5개월 ago

Java 총정리[95.쓰레드 통신]

쓰레드 통신 이전 걸음에서 쓰레드의 임계영역에 대해서 같이 공부를 했습니다. 동기화에 대한 개념을 계속적으로 하고…

5개월 ago

Java 총 정리[94. 쓰레드 임계영역]

쓰레드 임계영역 이전 걸음에서 쓰레드의 동기화에 대해서 같이 공부를 했습니다. 동기화에 대한 전반적인 내용을 공부하고…

6개월 ago

Java 총 정리[93. 쓰레드 동기화]

쓰레드 동기화 이전 걸음에서 계속 쓰레드에 대해서 공부를 하고 있습니다. 쓰레드는 상당히 중요한 개념이기 때문에…

6개월 ago

Java 총 정리[92. 쓰레드 join()]

쓰레드 join() 이전 걸음에서 쓰레드의 전반적인 실행 흐름에 대해서 공부를 했습니다. 이제 배운 실행 흐름…

6개월 ago

This website uses cookies.