하고재비
[JAVA]추상클래스와 인터페이스 본문
1. 추상클래스(abstract)
1-1. 추상클래스란?
일반적인 클래스의 추상화 버전,
추상 : 여러가지 개념이나 사물에서 공통되는 특징 혹은 속성을 추출,
일반클래스와는 다르게 구현되지않은 메서드(추상메서드)를 포함할 수 있다.
추상클래스 자체를 객체로 생성할수 없다. 반드시 추상클래스를 상속받는 클래스를
만든 후, 클래스에 선언되는 모든 추상메서드를 오버라이딩하여 구현하여야 한다.
1-2. 추상클래스 사용 이유
추상클래스에서 공통부분의 설계와 구현이 완료되면 서브클래스에서 상속받아 기능 확장.
공통상황이 한 곳에 관리되어 개발 및 유지보수 용이
프로그램의 구체화 및 동일한 규격으로 만들만한 가이드 제공
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | abstrct class MyAbstractClass{ Int num1, num2; Int result; Void calc() { result = num1+num2; } abstract int getResult(); } Class MyClass extends MyAbstractClass{ int getReult(){ return “결과: ” + result; } } | cs |
2. 인터페이스
2-1. 인터페이스란?
일반메서드를 포함할 수 없으며, 모두 추상메서드로 구성
필드는 상수만 가능(pulbic, static, final)
추상클래스 자체를 객체로 생성할수 없다.
반드시 인터페이스를 "implements"로 상속받는 클래스를 만든 후 객체생성 가능
1 2 3 4 5 6 7 8 9 10 | Interface MyInterface { public static final num1= 1000; public abstract int getResult(); } class MyClass implements MyInterface { public int getResult() { return num1 + 300; } } | cs |
'JAVA' 카테고리의 다른 글
[JAVA]ArrayList (0) | 2017.12.13 |
---|---|
[JAVA]Comparable , Comparator (0) | 2017.12.13 |
[JAVA] 생성자 (0) | 2017.12.08 |
[JAVA] 메소드 오버라이딩 과 오버로딩 (0) | 2017.12.07 |
[JAVA] 상속 (0) | 2017.12.07 |
Comments