• 로그인 함 해보끄나?

  • Sarangnamu.net June 17, 2003
    Home Login Profile Study Open Project Q&A Google Code
    C++ 프로그래머 Java 맛보기 #5
    Last Modify : 20 February, 2011(10:51)

     

     

     

    친절도 하시게도 java tutorial 에는 상속에 관련해서 괜찮은 그림이 하나 있다 솔직히 상속에 대한 개념이 없을 순 없거니와 딱 보면 아하 하는 거라 사용하는 접근성이 사람마다 차이가 조금 있을 뿐 이해도가 떨어지지 않을 것이다.

     

    그림을 보면 자전거라는 놈이 있는데 기본적인 자전거의 구조에서 산약용 자전거의 경우 기존의 자전거에서 좀더 튼튼한 바퀴와 쿠션을 가져야할 것이고 로드용은 날렵하고 속도를 위해 최적화 되어야할 것이고 2인용자전거는 페달이 2개 가 있어야할 것이다. 이렇게 기본 구조는 같으나 특성을 달리 할 수 있게 하는게 기본적인 OOP 의 개념이고 우리는 이런 개념을 코드에 적용할 수 있을 것이다.

     

    아래에 Bicycle 코드를 재활용 해보자면

     

    class Bicycle {

           int cadence = 0;
           int speed = 0;
           int gear = 1;

           void changeCadence(int newValue) {
                cadence = newValue;
           }

           void changeGear(int newValue) {
                gear = newValue;
           }

           void speedUp(int increment) {
                speed = speed + increment;   
           }

           void applyBrakes(int decrement) {
                speed = speed - decrement;
           }

           void printStates() {
                System.out.println("cadence:"+cadence+" speed:"+speed+" gear:"+gear);
           }
    }

     

    요런 녀석이 기본 클래스가 존재한다면은 산악용을 자전거를 만들기 위해서는

     

    class MountainBike extends Bicycle {

         // new fields and methods defining a mountain bike would go here

    }

     

    요렇게 하면 된다는 것이다.

     

    c++ 에선 요걸... 아래처럼 하는데 역시나 그닥 차이가 없으므로 문법만 대충 보면 될 것 같다.

     

    class CMountainBike : public Bicycle

    {

    }


    Comment


    입력하3 1502976394



    Locations of visitors to this page