JAVA/자바 기초

[JAVA]객체지향 프로그래밍(2)-객체와 인스턴스

다당근 2021. 10. 11. 15:24

📖이전글

객체지향 프로그래밍(1)-클래스와 객체,객체지향의의미,장단점

 

 

목차

     

    인스턴스의 생성과 사용

    클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화 라고 하며, 어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스(instance)라고 한다.

    클래스로부터 인스턴스를 생성한다 = 클래스로부터 객체를 만든다

    인스턴스를 생성하는 방법은 다음과 같다.

    클래스명 변수명; //클래스의 객체를 참조하기 위한 참조변수 선언
    변수명 = new 클래스명(); //클래스의 객체를 생성 후 객체의 주소를 참조변수에 저장
    
    //한줄로 표현하기
    클래스명 변수명 = new 클래스명();

    참조변수를 까먹었다면 여기로

     

     

    이전글에서는 동물 클래스를 만들고, 이를 바탕으로 토끼객체와 여우 객체를 만들었다.

     

    이를 코드로 표현하면 다음과 같다.

    // 한글로 표현해보기
    // 코드에서 실제로 사용하기 위해 동물클래스로 토끼와 여우를 만들었다. = 인스턴스화 했다
    동물 토끼 = new 동물();
    동물 여우 = new 동물();
    
    // 메모리에 할당을 했기 때문에
    // 이 아래부터는 토끼와 여우를 이용해 잡아먹고 잡히고 도망가는 행동을 할 수 있다.
    // 이런식으로 말이다.
    토끼.달리다();
    //실제 코드로 표현해보면 이렇게 된다.
    Animal rabbit = new Animal();
    Animal fox = new Animal();
    
    rabbit.run();

    동물클래스 타입의 참조변수 토끼를 선언한다. 메모리에는 동물클래스 주소값을 가진 토끼의 공간이 생긴다. 이렇게 객체가 메모리에 할당되어 실제 사용되는 것을 인스턴스라고 부른다.

    인스턴스는 참조변수를 통해서만 다룰 수 있으며, 참조변수의 타입은 인스턴스의 타입과 일치해야한다. 

    갑자기 이렇게 되면 안된다는 말이다.

     

    동물 토끼;

    토끼 = new 사람();

     


    참고

    자바의 정석-남궁성