본문 바로가기
개발/JAVA

10일차

by Shuming 2015. 12. 3.
반응형

10일차 - 눈이 많이 온 날. 10시에 나와버렸다.


버스를 일찍타야했는ㄷ ㅔㅠㅠ... 





Inheritance. (상속)

  • 자신이 가진 모든 자료, Method를 물려주는 것.

  • 두 개 이상의 Class가 존재 해야 한다.


상속의 표현

  • extends 라는 키워드에 의해 구현된다.


자료의 상속

  • 선조에서 선언 된 공간이 그~대로 상속되어 실제 메모리를 차지하게 된다.


Method 의 상속

  • 코드를 공유하는 형태로 이루어진다. 따라서 메소드 호출은 선조의 코드를 빌려서 사용한다.


* 그렇다면 메모리 상에는 ?

  • ex) Taxi 가 Car를 extends 를 하고, TaxiTest에서 Taxi를 생성자 호출하여 사용한다면

    • TaxiTest.class

    • Taxi taxi = new Taxi();

    • 일때 taxi 는 Taxi를 검사하고 난 뒤에 Car 까지 간다.

























생성자에 this 는 같은 클래스의 다른인자값을 가진 생성자호출            

super는 부모의 ! 다른 인자값을 가진 생성자 호출                        







  • 다중 상속

1.PNG


2.png





또 다른 예를 보자




3.PNG



4.PNG











Overriding.( 재 정의)


  • 자료의 재정의(Overriding)

  • 상속에 의해 받은 자료나 메소드를 사용치 않고 자신이 새로이 만들어 사용하는 방법.

왜냐? 똑같은 메소드가 있을 경우 자신의 메소드를 우선 시 하기 위해서!!

  • 오히려 프로그램의 가독성을 떨어뜨리는 결과를 발생하기 쉬워 지양해야 할 사항이다.


  • 메소드의 재정의(Overriding)

  • 실제로 코드 공간이 후손에게 전달되는 것이 아니라 하나의 코드를 선조와 후손 클래스가 공유하는 형태로 동작하게 된다.

  • 메소드의 overriding은 후손 클래스에서 동일한 이름을 가지는 메소드를 재정의하여 사용하는 것으로 선조의 메소드를 빌려 쓰지 않고 자신의 메소드를 사용하게 된다.


  • 오버로딩 vs 오버라이딩


오버라이딩(overriding)은 메소드를 구성하고 있는 형태가 동일해야 한다.

오버로딩은 메소드의 이름은 같지만 인자의 리스트가 달라서 구분이 가능해야만 한다

오버라이딩은 메소드의 이름 뿐만아니라 인자의 리스트도 완전히 똑같아야 한다

오버로딩은 한 클래스의 내부에서 생각하는 것

오버라이딩은 상속 관계가 맺어진 두 클래스를 생각.


  • Protected.

  • 상속관계가 있을 경우와 같은 패키지 내에서만 의미를 지닌다.




퀴즈 2015 12 03


완벽하지 못함 ㅠㅠ



효진씨가 휴게소에 가서 자판기에서 뭘 뽑아마신다는 내용의 코딩인데


자판기의

public void Coin(){

while(true){

hyo.InsertCoin();

sum = sum + hyo.insertCoin;

if (sum < 200)

System.out.println("그지새기새오..? 더 넣으세오..");

       if( sum >= 200 ) {

        break;

       }

       System.out.println("총 "+sum+" 원 넣으셨습니다.");

        

    } //end while

}

이부분에서 막힌다.


200원을 값으로 넣어주고 싶은데.... 머리가 더이상 졸려워서 말을 듣질않는다..

그리고 메뉴 선택도 좀 더 유연하게 하고싶은데... 어떻게 안되려나 .. 흠냐





Hyojin.class




RestStore .class





Machine.class





반응형

'개발 > JAVA' 카테고리의 다른 글

12일차 예외처리와 awt  (0) 2015.12.08
11일차 묵시적 형변환과 다형성  (0) 2015.12.04
9일차. 와퍼(Wrapper)와 각종 배열.  (0) 2015.12.02
8일차 명시적 선언 궁금!  (0) 2015.12.01
8일차 객체구현, 패키지  (0) 2015.12.01

댓글