Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- DataAccess
- dendrogram
- del
- matplotlib
- sklearn
- numpy
- len()
- Machine Learning
- nan
- count()
- data
- function
- insert()
- 최솟값
- Python
- Dictionary
- append()
- 반복문
- pandas
- list
- DataFrame
- analizer
- string
- hierarchical_clustering
- elbow method
- 분류 결과표
- wcss
- IN
- 최댓값
- 덴드로그램
Archives
- Today
- Total
개발공부
[Java] Abstract Class 추상 클래스 본문
추상 클래스
실체 클래스들의 공통적인 특성을 추출해서 선언한 클래스이다.
추상 클래스란 클래스 변수나 메소드들을 선언만 하고 구현은 실체 클래스에서 하도록 만든다.
주로 협업을 할 때 필드와 메소드 이름을 통일하여 유지보수성을 높이고 통일성을 유지할 수 있다.
실체 클래스에서는 필드와 메소드의 이름이 주어졌기 때문에 이것의 기능을 구현하기만 하면 된다.
이때 기능 구현은 메소드 오버라이딩을 통해서 해야한다.
예제
GrandParent.java
public abstract class GrandParent {
String name;
int age;
// 함수를 만드는데,
// 함수를 이름만 만들어 놓는다. (내용은 없다.)
public abstract void print();
public abstract void test();
}
Parent.java
public abstract class Parent extends GrandParent{
// 추상 클래스를 상속 받아서 개발하는 클래스는
// 추상클래스의 모든 추상 함수를 다 구현 해줘야 한다.
// 모두 구현하지 않을시는 이 클래스도 abstract class로 만들어야 한다.
@Override
public void print() {
// TODO Auto-generated method stub
System.out.println("Parent");
System.out.println("name : " + name);
System.out.println("age : " + age);
}
}
Child.java
추상클래스의 모든 기능을 구현한 클래스는 실체 클래스라고 한다.
이 실체클래스를 객체 생성하면 된다.
public class Child extends Parent{
String hobby;
@Override
public void test() {
System.out.println("Hobby = " + hobby);
}
}
Main.java
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Child c = new Child();
c.name = "홍길동";
c.age = 30;
c.hobby = "영화";
c.print();
c.test();
}
}'Java > Basic' 카테고리의 다른 글
| [Java] ArrayList 사용법 (0) | 2022.07.06 |
|---|---|
| [Java] Interface 인터페이스 (0) | 2022.07.06 |
| [Java] UpCasting / DownCasting (0) | 2022.07.05 |
| [Java] 부모 메소드 호출을 위한 super 사용법 (0) | 2022.07.05 |
| [Java] Method Overriding 메소드 오버라이딩이란 ? (0) | 2022.07.04 |