foxpacking

Programming Lessons

Java 언어 Korean

Java 총 정리[50. has 문제]

has 문제

이전 걸음에서 has에 관해서 설명하고 공부를 했습니다. 그러면 당연히 그와 관련된 문제를 풀어봄으로써 has를 활용을 할 수 있게 되어야 한다고 생각을 합니다. has를 더 확장을 할 수 있는 걸음이 되 실 수 있습니다.

has를 기초적으로 적용을 하여 class에 다른 class 참조 자료형 변수를 선언 하여 외부에서 객체를 받아서 class 안에 있는 참조 자료형 변수에 대입을 할 수 있고 또한 객체는 어떻게 동작을 해야 이해가 쉬울 수 있는지는 이번 걸음에서 같이 확인을 해보겠습니다.

자동차 자전거 has 문제입니다. 자동차와 자전거의 객체를 생성하고 사람 1과 사람 2가 또한 객체를 만들고 사람 1과 2에는 has관계로 각각 자동차와 자전거 있습니다. main에서 생성된 객체를 사람 1과 2가 객체를 가지고 가고 현실과 최대한 가깝게 has 문제를 푸시면 됩니다.

자동차 자전거 has 문제

has문제사진1
has문제사진2

문제를 보시면 자동차 객체 1개 자전거 객체 1개 그리고 사람 1 객체 하나 마지막으로 사람 2 객체 하나를 main문에 생성을 해주시고 자동차와 자전거가 각각 사람 1, 사람 2에 있는 참조 자료형 변수에 대입을 합니다. 그리고 자동차 자전거가 사람들에게 전달이 되었기 때문에 main에 있는 자동차 변수와 자전거 변수는 객체를 잃게 해주셔야 합니다. 

참고

class 연습을 위해서 파일명과 같은 class 위에 문제에 필요한 class를 만들어서 구현하세요.

위 문제를 파일명과 같은 Class에 Main문에 소스를 구현해 주세요.

실행 관련 걸음 : 다섯 걸음, 여섯걸음

참고해주세요



class Car{
    String color;
    String menu;

    Car(String c, String m){
        color = c;
        menu = m;
    }

    void dirve(){
        System.out.println("자동차 색깔은 "+color+"이고 제조사는 "+
                menu  +"인 차를 운전합니다.");

    }

}

class Bike{
    String menu;
    String function;

    Bike(String m, String f){
        menu = m;
        function = f;
    }

    void ride(){
        System.out.println("자전거 제조사는 "+menu+"이고 기능은 "+
                function +"인 자전거를 탑니다.");
    }
}
class Human1{
    Car c1;
}

class Human2{
    Bike bike;
}
public class HasTest {
    public static void main(String[] args) {
        Car c = new Car("빨간색","현대");
        Bike b = new Bike("삼천리","산악용");

        Human1 h1 = new Human1();
        Human2 h2 = new Human2();

        h1.c1 = c;
        h2.bike = b;

        c = null;
        b = null;

        h1.c1.dirve();
        h2.bike.ride();

    }
}



        


객체에 대하여
객체에 생성 및 이동을 하려면 현실과 최대한 똑같이 하는게 좋습니다. 그래야 객체가 넘어 갔는지 받았는지에 대한 이해를 빨리 할 수 있습니다.

위에 사진을 보고 객체 이동의 공부에 참고를 하시고 하시면 됩니다.

Dolphin

About Author

Leave a comment

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

You may also like

Korean Programming 기초

IT 개발자 VS 프로축구선수 비교?

IT 개발자와 프로축구선수의 같은 점과 다른 점? 프로그래밍 공부를 하시면서 개발자로 취업을 하려고 하는데 과연 취업을 할 수 있을까? IT
Korean 클라우드

AWS 로그인 불가능, AWS고객 센터 이메일 문의 결과는?

AWS 고객센터 이메일 문의 솔직후기 AWS를 사용하기 위해 로그인을 하는 경우 이메일로 코드 번호를 보내지만 이메일로 받을 수 없는 상황이거나