이번 시간에는 객체와 클래스에 대해 공부를 해보겠습니다.
현실세계객체 = 설계도
자바에서의 설계도= 클래스(class)
클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있다. 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스(나중에용어가 헷갈리니 기억해두도록 하자)라고 한다. 예를 들어 자동차 객체는 자동차 클래스의 인스턴스인 셈이다.
설계 인스턴스화
개발자 ---------------> 클래스 --------------> 인스턴스(객체)
객체지향 프로그래밍의 개발은 세가지 단계가 있다.
1. 클래스 설계
2. 설계된 클래스를 가지고 사용할 객체를 생성
3. 생성된 객체를 이용
예를 들어 Car라는 클래스를 만들어 본다고 하자
public class Car {
}
클래스를 만드는 것은 정말 쉬운일이다.
클래스로 부터 이번엔 객체를 생성해보자
객체를 생성하는 방법은 다음과 같이 new 연산자를 사용하면 된다.
new Car();
new는 클래스로 부터 객체를 생성시키는 연산자이다. new 연산자 뒤에는 생성자가 오는데, 생성자는 클래스() 형태를 가지고 있다. new 연산자로 생성된 객체는 메모리 힙(Heap)영역에 생성된다. 현실 세계에서 물건의 위치를 모르면 물건을 사용할 수 없듯이, 객체지향 프로그램에서도 메모리 내에서 생성된 객체의 위치를 모르면 객체를 사용할 수 없다. 그래서 new 연산자는 힙 영역에 객체를 생성시킨 후, 객체에 주소를 리턴하도록 되어 있다. 이 주소를 참조 타입인 클래스 변수에 저장해 두면, 변수를 통해 객체를 사용할 수 있다. 다음은 클래스 타입으로 선언된 변수에 new 연산자가 리턴한 객체의 주소를 저장하는 코드이다.
클래스 변수;
변수 = new 클래스();
Car c;
c = new Car();
혹은
Car c = new Car();
주로 위에 같은 형식으로 객체를 생성한다.
아직 댓글이 없습니다. 첫번째 댓글 작성자가 되어주세요 :)