강의

멘토링

커뮤니티

Inflearn Community Q&A

angelee3112895's profile image
angelee3112895

asked

Introduction to Java Programming Course (renewed version) - From beginner to developer employment!!

Abstract class

추상클래스 객체생성 관련

Written on

·

377

0

메인클래스에서 객체를 생성할 때

Bank myBank = new MyBank();

를 사용하셨는데 대신

MyBank myBank = new MyBank();

이렇게 쓸 수는 없는건가요?

java

Answer 5

8

MyBank myBank = new MyBank(); 대신에

Bank myBank = new MyBank();로 사용하는 이유는 간단해요. 

또 다른 클래스들(MotherBank, FatherBank 등등...) 많다고 가정해봅시다.

이 클래스들은 Bank라는 추상 클래스로부터 상속을 받고 객체를 만들어 사용하고 있는데요.

소스코드를 타인이 봤을 때, MotherBank motherBank = new MotherBank(); 이런식으로 작성한다면, 상속 여부를 가독성있게 판단할 수 없기때문입니다. 그래서 가장 최상위 클래스를 자료형으로 사용하는 것입니다. 가독성을 위해서요.

물론 MyBank myBank = new MyBank(); 이렇게 사용가능합니다.

0

추상클래스는 클래스가 가지는 모든 속성과 기능을 가진다

추상 메서드 구현 및 상속의 기능을 가진다

단일 상속만 지원한다 .

0

인터페이스는 상수, 추상메서드만가진다

추상메서드를 구현만 하도록 한다

다형성을 지원한다 

0

인터페이스와 차이

공통점은 추상메서드는 가진다 객체생성이 불가능 하여 자료형으로 사용된다 

0

저도 궁금해요 생성할땐 MyBank로 생성하고 받을땐 굳이 Bank myBank로 받은이유가 궁금합니다.

angelee3112895's profile image
angelee3112895

asked

Ask a question