21_객체지향문법-자판기 클래스 만들기 & 그림으로 클래스와 관계 표현하기

Jiyoon.lee·2023년 11월 19일

Java_inflearn

목록 보기
21/25

1. 자판기 클래스를 만들어보자

  • VendingMachine 클래스 생성
    -> 사용할 수 없음 사용하려면 main메소드가 있어야 함

  • VendingMachineMain 클래스 생성
    -> main메소드 가지고 있음 main메소드 안에서 VendingMachine이 사용됨

*static이 붙은 메소드는 클래스 메소드라고 부른다.
클래스 메소드는 인스턴스를 생성하지 않아도 사용할 수 있다.
사용 가능하다는 것은 메모리에 올라가 있다는 것을 의미한다.
메모리에 올라가야 오브젝트라고 부를 수 있다. 그런데, static 메소드는 static 메소드를 가지고 있는 클래스가 인스턴스가 되지 않아도 사용 가능하다.

*메소드는 기능, 행위를 의미한다.
예를 들어, 할아버지는 걷기라는 행위를 하기 위해 지팡이가 필요하다. 즉, 할아버지는 지팡이에 의존한다.
main메소드가 동작하려면 VendingMachine 클래스가 필요하다. 해당 클래스가 main메소드 안에서 사용되고 있기 때문이다.
main메소드에서 VendingMachine를 사용하는데, VendingMachine클래스가 존재하지 않는다면 컴파일 오류가 발생한다. 즉, VendingMachineMain은 VendingMachine클래스에 의존한다.
메인 메소드 안에는 String 클래스도 사용되고 있다. 이 말은 VendingMachineMain은 String 클래스에도 의존한다는 뜻이다.

메소드에서 사용하는 건 의존한다라는 걸 기억할 것

public class VendingMachine {
    // 필드 : 자판기가 가지는 것들
    // 메소드 : 자판기의 기능(행위)
}
public class VendingMachineMain {
    public static void main(String[] args) {
        VendingMachine vm1 = new VendingMachine();
        VendingMachine vm2 = new VendingMachine();
    }
}

0개의 댓글