본문 바로가기
언어 공부하기/JAVA 개념

[Java 자바] 객체와 인스턴스의 개념 알아보기 (Object, instance)

by 망댕이 2024. 7. 9.
반응형

▷ 객체

객체는 다른 프로그램의 실행 클래스나 동일한 프로그램의 실행 클래스에서 멤버 클래스로 사용할 수 있다.

그러기 위해서 멤버 클래스를 사용하려면 그 클래스를 '객체(Object)'로 만들어야한다.

▷ 인스턴스

인스턴스는 특정 클래스로부터 만들어진 객체를 그 클래스의 '인스턴스(instance)'라고 한다.

(클래스를 객체로 만드는 작업을 instancin이라고 함.)

 

그럼 아래 예제를 보고 객체와 인스턴스에 대해 조금 더 알아보자

 

class AA{ // main()이 있는 실행 클래스
	public static void main(String[] args){
    	
        BB cal_a = new BB(); // new를 이용해 객체(BB클래스의 인스턴스)인 cal_a 생성
        cal_a.price = 10000; // BB 클래스에 있는 변수와 메소드를 사용할 수 있음.
        cal_a.rate = 0.4; // 인스턴스명.멤버변수 형식
        cal_a.cal(); // 인스턴스명.메소드() 형식
        
        BB cal_b = new BB(); // new를 이용해 객체(BB클래스의 인스턴스)인 cal_b 생성
        cal_b.price = 20000; // BB 클래스에 있는 변수와 메소드를 사용할 수 있음.
        cal_b.rate = 0.6; // 인스턴스명.멤버변수 형식
        cal_b.cal(); // 인스턴스명.메소드() 형식
	}
}

class BB{ // main()이 없는 멤버 클래스
	int price;
    double rate;
    int cal_price;
    
    void cal(){ // cal()이라는 메소드 선언 (void는 이 메소드가 반환하는 값이 없다는 의미)
    	cal_price = (int)(price - (price * rate));
    }
}

 

이것은 AA(실행 클래스)가 BB(멤버 클래스)의 메소드나 변수를 사용하기 위해 BB클래스의 인스턴스(객체)를 생성하는 것을 보여주는 예시이다..

 

추가로 인스턴스를 생성하는 대표적인 구문 2가지를 보여주고 마무리하겠다.

(1)
클래스명 참조변수 = new 클래스명();

(2)
클래스명 참조변수;
참조변수 = new 클래스명();

//참조변수는 주소 값을 저장하는 변수를 의미.
//참조변수의 이름이 곧 인스턴스의 이름.
반응형