요즘 인터페이스에 대한 개념이 자꾸 애매모호하게 생각나서 다시 정리하는 시간을 가지려고 한다.
인터페이스를 공부하기 전 클래스에 대한 개념이 확실하게 되어있으면 좋다고 생각하여 클래스 먼저 공부한다.
클래스
클래스 기본 형태
class Food() {
}
- 가장 간단한 형태의클래스이다.
- 클래스의 선언만 있지 내용이 없는 클래스이다.
- 하지만, 객체를 만드는 아주 중요한 기능을 가지고 있다.
객체 생성
public class Test {
public static void main(String[] args) {
Food pizza = new Food();
}
}
- new 는 객체를 생성할 때 사용하는 키워드이다.
- 이렇게되면 Food 클래스의 인스턴스 pizza!
즉, pizza 의 객체가 만들어진다.
객체와 인스턴스의 차이는 무엇인가?
- 클래스에 의해 만들어진 객체를 "인스턴스"
- Food pizza = new Food();
여기서는 pizza 가 객체이다.
그리고 pizza 는 Food 의 인스턴스이다.
- 인스턴스 라는 말은 특정 객체 (pizza) 가 어떤 클래스 (Food) 의 객체인지 관계 위주로 설명할 때 사용된다.
즉, 'pizza = 인스턴스' 보다 'pizza = 객체' 가 잘 어울리며, 'pizza = Food 객체' 보다 'pizza = Food 인스턴스' 라는 말이 더 잘 어울린다.
객체 만들기
- 많은 객체들을 Food 클래스로 만들 수 있다.
example
Food chicken = new Food();
Food pasta = new Food():
...