본문 바로가기

Java/자바의 정석 3판

객체지향 프로그래밍(1) - 객체지향이란?

객체지향(OOP - Object-Oriented Programming)

이미지 출처 : WIKIMEDIA

                   실제 세계를 컴퓨터 속으로.

 

클래스는 각 제품의 설계서이며, 해당 클래스(설계서)로 생성되는 것이 객체(제품) 이다.

 

차(Car) 를 기준으로 설명하면,

 

클래스(Class) - 차(Car)의 설계서

객체 - 차 설계서로 만들어진 제품

 

각 객체는 속성(attribute)과 기능(method)을 가진다.

속성(attribute) - 차의 크기, 높이 등

기능(method) - 차 속도 올리기, 속도 줄이기 등

 

즉, 설계서로 차 (객체)를 만들고, 객체가 가진 속성과 기능을 사용한다.

 

인스턴스 - 특정 클래스로부터 만들어진 객체

 

인스턴스든 객체든 뜻은 비슷하므로, 굳이 구분 지을 필요는 없다.

객체 = 변수 + 메서드(기능) 이 합쳐져있는 것으로 보면 된다.


객체 생성 과정

Car c = new Car();

Car 클래스로 생성한 인스턴스이다.

 

Car 타입의 참조변수 c에 생성된 Car 객체의 주소가 저장된다.

해당 참조변수로, Car가 가진 속성과 기능을 가져와 사용할 수 있다.

 

부가적인 설명으로, 해당 코드에서는 new 연산자로 Car 인스턴스가 생성이 되며,

생성과 동시에 Car 클래스의 생성자를 호출한다.

 

생성자를 통하여 생성된 객체의 속성을 원하는 값으로 초기화 할 수 있다.

 

객체 = 변수 + 메서드(기능) 이 합쳐져있는 것으로 보면 된다.