자바기초

자바 클래스와 객체

yb12 2020. 4. 24. 09:27

객체란 소프트웨어 세계에서 구현할 대상이다

클래스는 객체를 만들기 위한 설계도, 틀이라고 할 수 있다.

 

예를 들어 자동차 클래스를 만들고 자동차 객체를 생성한다 하면

 

예제)

class Main {

    public static void main(String[] args) {

    // 클래스(자동차) 타입의 변수만 만든 것이다. 변수 a자동차에는 현재 쓰레기 리모컨이 들어있다.

    자동차 a자동차;

 

    // 자동차 객체를 만들었다. a자동차에 이제야 제대로 작동하는 리모컨이 들어갔다.

    // a자동차에는 자동차를 조종할 수 있는 리모컨이 들어있고 실제 객체는 변수 외부에 생성되었다.

    // 리모컨을 통해 실제 객체를 원격 조종한다고 생각하면 된다.

    a자동차 = new 자동차();

 

    //a자동차에 있는 리모컨의 달리기() 버튼을 누른 것이다.

    a자동차. 달리기();.달리기();

    }

}

 

class 자동차 {

    //객체에 기능을 추가하는 것. 리모컨에 버튼을 추가함으로써 원격조종이 가능하게 해 줌

    void 달리기() {

    System.out.println("자동차가 달립니다.");

    }

}

 

 

class 자동차 {

}

--> 자동차 클래스를 만들고

 

자동차 a자동차;

--> 자동차 타입의 변수를 선언해준다.

 

a자동차 = new 자동차();

--> a자동차라는 변수에 자동차 객체를 만든다.

 

void 달리기() {

System.out.println("자동차가 달립니다.");

}

--> 자동차에 달리기라는 기능을 만들어 준 것.

 

 

자동차 클래스를 만들면 그 이후부터 자동차 타입의 변수와 자동차 객체를 만들 수 있다.

클래스(자동차)를 만들고 변수(a자동차)를 선언한다면

그 변수(a자동차)에는 객체 자동차를 조종할 수 있는 리모컨이 들어가고 실제 객체는 변수 외부에 생성된다.

 

만약 객체를 만들지 않고 클래스 타입의 변수만 선언했다면 그 변수에는 쓰레기 리모컨이 들어있는 것이다.

변수를 선언한 뒤에 객체를 만들어 주게 되면 비로소 변수에 제대로 작동할 수 있는 리모콘이 들어가게 된다.