클래스
는 객체를 생성하는데 사용되며, 객체
는 클래스에 정의된 대로 메모리에 생성된 것을 말합니다.
클래스
는 단지 객체를 생성하는데 사용될뿐, 객체 그 자체는 아닙니다. 우리가 원하는 기능의 객체를 사용하기 위해서는 먼저 클래스
로부터 객체를 생성하는 과정이 선행되어야 합니다.
클래스
는 데이터(변수)와 데이터에 관련된 메서드의 집합이므로, 같은 클래스 내에 있는 메서드와 멤버변수는 아주 밀접한 관계가 있다.
객체
는 속성과 기능, 두 종류의 구성요소로 이루어져 있습니다. 객체가 가지고 있는 속성과 기능을 그 객체의 멤버라고 합니다.
객체지향 프로그래밍에서는 속성과 기능을 각각 멤버변수
와 메서드
로 표현합니다.
속성(property) | 기능(function) |
---|---|
멤버변수(variable) | 메서드(method) |
어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스
라고 합니다.
인스턴스와 객체는 같은 의미이지만, 객체는 모든 인스턴스를 대표하는 포괄적인 의미이고, 인스턴스는 어떤 클래스로부터 만들어진 것을 강조하는 의미입니다.
올바른 표현 ex)
책상은 객체다.
책상은 책상 클래스의 인스턴스다.
클래스명 변수명; // 클래스의 객체를 참조하기 위한 참조변수를 선언
변수명 = new 클래스명(); // 클래스의 객체를 생성한 후, 객체의 주소를 참조변수에 저장
인스턴스는 참조변수를 통해서만 다룰 수 있으며, 참조변수의 타입은 인스턴스의 타입과 일치해야 합니다.
각 인스턴스의 속성(멤버변수)은 서로 다른 값을 유지할 수 있으며, 메서드의 내용은 모든 인스턴스에 대해 동일합니다.