강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

selgi e님의 프로필 이미지
selgi e

작성한 질문수

자바 프로그래밍 입문 강좌 (renew ver.) - 초보부터 개발자 취업까지!!

추상클래스

추상클래스 객체생성 관련

작성

·

360

0

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

Bank myBank = new MyBank();

를 사용하셨는데 대신

MyBank myBank = new MyBank();

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

답변 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로 받은이유가 궁금합니다.

selgi e님의 프로필 이미지
selgi e

작성한 질문수

질문하기