• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

추상클래스 객체생성 관련

19.02.14 05:11 작성 조회수 161

0

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

Bank myBank = new MyBank();

를 사용하셨는데 대신

MyBank myBank = new MyBank();

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

답변 5

·

답변을 작성해보세요.

8

LetsGoHigh님의 프로필

LetsGoHigh

2019.07.31

MyBank myBank = new MyBank(); 대신에

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

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

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

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

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

0

불고기버거님의 프로필

불고기버거

2020.10.25

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

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

단일 상속만 지원한다 .

0

불고기버거님의 프로필

불고기버거

2020.10.25

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

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

다형성을 지원한다 

0

불고기버거님의 프로필

불고기버거

2020.10.25

인터페이스와 차이

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

0

기만이님의 프로필

기만이

2019.04.15

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