본문 바로가기
java&eclipse 코딩 알고리즘/20231215

AbstractClassTest

by 몽상크리에이터 2023. 12. 15.

package com.tjoeun.abstractClass;

 

// 1개 이상의 추상 메소드를 포함한 클래스를 추상 클래스라 부르며, abstract 예약어를 사용해서 만든다.

// 추상클래스는 불완전한 메소드를 포함하고 있기 때문에 불완전한 클래스이므로 new를 사용해서

// 객체를 만들어 사용할 수 없다.

 

// 추상 클래스는 상속을 목적으로 만들어 사용하는 클래스이다.

// 추상 클래스를 상속받은 자식 클래스는 추상 클래스로부터 상속받은 추상 메소드를 반드시

// Override 시켜서 사용해야 한다. => 다형성(Polymorphism) (하나의 메소드가 다양한 클래스에서 여러 용도로 사용된다.) 구현에 사용한다.

 

// 자식 클래스에서 반드시 Override 시켜서 사용해야 하는 강제성을 프로그래머에게 부여하고

// 추상 메소드의 {} 블록에 팔아프게 코딩해봐야 어차피 자식 클래스에서는 Override를 해서

// 사용하므로 부모 클래스에서 {} 블록 자체를 코딩하지 않는다.

abstract class Product {

 

public void kindOf() { } // 아무런 일도 하지 않는 일반 메소드

 

// 추상 메소드는 아무런 일도 하지 않는 {}블록을 가지지 않는 메소드를 말한다.

// 추상 메소드는 abstract 예약어를 사용해 선언하며 {}블록을 가지지 않는 불완전한 메소드이다.

// 프로그래머에게 특정 메소드는 상속받은 메소드를 Override 해서 사용하게끔 강제한다.

 

 

public abstract void kindOf2(); // 추상 메소드

 

}

 

// Product 클래스를 상속받아 Camera 클래스를 만든다.

class Camera extends Product {

 

@Override

public void kindOf2() {

// TODO Auto-generated method stub

 

}

 

 

}

 

 

public class AbstractClassTest {

 

public static void main(String[] args) {

 

// 추상 클래스는 객체를 만들어 사용할 수 없기 때문에 아래와 같이 사용하면 에러가 발생된다.

// Product product = new Product(); //에러

 

 

}

 

}

'java&eclipse 코딩 알고리즘 > 20231215' 카테고리의 다른 글

TemplateMethodTest  (0) 2023.12.15
PolymorphismTest2  (0) 2023.12.15
PolymorphismTest  (0) 2023.12.15
UpDownCastingTest  (0) 2023.12.15
CustomerTest  (0) 2023.12.15