프로그래밍

자바 상속 응용 질문

public class Aclass{

     public void method1(){

          System.out.println("A");

     }

}

public class Bclass extends Aclass{

     @Override

     public void method1(){

          System.out.println("B");

     }

     

     public void method2(){

          System.out.println("C");

     }

}

public class ExtendsTest{

     public static void main(String[] args){

          Bclass c1 = new Bclass();

          Aclass c2 = new Bclass();// Bclass 객체를 넣지만 Bclass는 Aclass를 상속받고 있기 때문에 Aclass객체로 대체(?)된다

          

          c1.method1();
          c1.method2();

          c2.method1();

          c2.method2(); //c2변수는 Aclass객체가 들어 있기 때문에 Bclass에 있는 method2는 사용할 수 없다.

     }

}

 

상속된 클래스 객체 생성을 대충 주석부분처럼 이해하고 있는데

 

아무리 생각해봐도 주황색 부분처럼 써야하는 상황 자체가 떠오르질 않는데

 

혹시 아는사람 있으면 예시 몇개좀 던져줄 수 있음??

7개의 댓글

2019.07.20

대체되는게아니라 Aclass()에서 사용할 수 없는 메소드를 제외하고 Bclass()를 사용한다가 맞지 않을까

0
2019.07.20
@화성암

음.... 그게 좀 더 맞겠네

 

근데 저럴거면 그냥 A클래스 그 자체를 new로 할당하는게 낫지 않나 싶어서...

 

아님 클래스 자료형 자체를 넓게 쓰려면 저렇게 하는게 나은건가?

0
2019.07.20
@화성암

B클래스는 A클래스를 상속받고 있으므로 B클래스로 정의 내릴순 있는데 위에 문장과 같이 정의하면 그냥 Aclass 요소밖에 못쓰는거지

0
2019.07.20
[삭제 되었습니다]
2019.07.20
@돈없는공대생

ㄳㄳ 정독하러 감

0

음..푸시발송 메소드 만들때 예를 들 수 있겠네

Push객체를 상속하여 send 메소드를 오버라이딩한

IOS객체랑 Android객체를 만들고

파라미터로 Push객체를 받아서 send메소드 실행하는 메소드를 만들어 놓으면

파라미터로 IOS객체를 넘기면 IOS객체에서 오버라이딩한 send메소드가 실행되고, Android객체를 넘기면 Android객체에서 오버라이딩한 send메소드를 실행하게 할 수 있음~

 

0
2019.07.23

니가 오토체스를 만든다고 쳤을때

 

Chess chess = new Goblin()

 

chessList.put(chess);

 

 

for c in chessList:

c.attack();

 

이럴때씀

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
5684 [프로그래밍] 그 혹시 게임쪽 종사자 있음? 13 god79ii 0 11 시간 전 292
5683 [프로그래밍] 코린이 ㅅㅂ 뭐가 문젠지 모르겠어요 5 집에가게해줘 0 18 시간 전 243
5682 [프로그래밍] Dear Imgui 라고 아시나요? 2 년째모쏠 0 1 일 전 163
5681 [프로그래밍] 현업개발자분들 주말엔 편하게 쉴수있나요? 10 키로 0 1 일 전 650
5680 [프로그래밍] 무엇이든 물어보세요. 28 변현제 0 3 일 전 339
5679 [프로그래밍] 금융권 SI 회사면 좋은건가.. 9 찰나생멸 1 4 일 전 347
5678 [프로그래밍] 개발자보단 엔지니어가 취업이 잘됨 5 iillillill 2 4 일 전 614
5677 [프로그래밍] 프론트엔드 개발자 연봉 1억 넘는 사람 있어? 13 잠적자 0 5 일 전 550
5676 [프로그래밍] Exiftool 이거 일본어 못 읽는데 13 부터시작하는이세... 0 6 일 전 214
5675 [프로그래밍] 반응형 웹페이지가 내가상상한거랑 좀 다르네 3 평택국 0 7 일 전 403
5674 [프로그래밍] 고졸 FE개발자 연봉, 상황에 조언좀.. 19 쾅꿍꿍 0 7 일 전 544
5673 [프로그래밍] 물경력들 보면 책임을 이해못하는것같음 5 mils 1 8 일 전 358
5672 [프로그래밍] GPT가 코딩 다해주네 3 겜신병자 0 9 일 전 694
5671 [프로그래밍] 크로스플랫폼의 욕심은 끝이없다 4 ye 0 11 일 전 372
5670 [프로그래밍] 월루중에 백준 풀어보고 있는데, 6 오뜨 0 12 일 전 645
5669 [프로그래밍] 같이 일했던 시니어급 개발자 아예 직무 바꿨네.. 15 흐린눈 2 14 일 전 660
5668 [프로그래밍] 안드로이드 스튜디오가 이상해요... 2 집에가게해줘 0 15 일 전 381
5667 [프로그래밍] 양심고백 5 너가전부옳아 0 16 일 전 368
5666 [프로그래밍] 멀티겜만드는거 첨인데 빡시네 4 아님나 0 16 일 전 416
5665 [프로그래밍] vscode에 이런 설정도 있나? 17 너가전부옳아 0 16 일 전 282