Java
객체와 클래스

이번 시간에는 객체와 클래스에 대해 공부를 해보겠습니다.


현실세계객체 = 설계도

자바에서의 설계도= 클래스(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();  

주로 위에 같은 형식으로 객체를 생성한다.


댓글 0