객체지향 언어
자바는 객체지향 언어입니다. 이 세상은 모든 사물들은 객체로 되어 있습니다.
지금 앉아있는 의자, 손에 들고 있는 마우스 등이 모두 객체 입니다.
이러한 객체들은 "상태"와 "행위"를 가지고 있습니다. 자동차를 예로 들어보겠습니다.
● 시속 80km/h로 이동중인 상태
● 512km를 주행한 상태
● 정지중인 상태
등의 여러가지 상태가 있을 수 있습니다.
● 가속을 하는 행위
● 브레이크를 거는 행위
● 문이 열리는 행위
등의 행위를 할 수 있습니다.
클래스와 객체
클래스와 객체는 구분을 해야합니다.
예를들어 Car 클래스가 있다고 했을 때 Car 클래스는 실질적인 객체를 찍어내는 틀이라고 생각하시면 됩니다.
Car 클래스를 통해 포르쉐라는 이름의 객체를 생성 할 수 있고, 람보르기니라는 객체를 만들 수도 있는 것입니다.
이렇게 각각의 실제 사물을 나타내기 위한 것을 "객체(Object)" 혹은 "인스턴스(Instance)"라고 합니다.
실질적으로 생성 할 객체의 상태와 행위를 클래스에 정의해두고 객체를 생성하여 메소드를 실행하여 상태를 변화 시킬 수 있습니다.
1 2 | Car dogCar = new Car(); Car cowCar = new Car(); |
Car 클래스를 통해 dogCar 객체와, cowCar 객체를 생성하는 코드입니다.
여기에는 new라는 단어가 나오고 "Car()"라고 하는 메소드 같이 생긴 "생성자"를 사용하고 있습니다.
생성자는 객체를 생성하기 위한 거의 유일한 도구입니다.
이때 매개 변수가 없는 생성자를 "기본 생성자"라고 합니다.
기본 생성자는 여러분들이 클래스를 컴파일할 때 javac에서 자동으로 만들어 줍니다.
클래스 자체만으로는 일을 할 수 없고 이렇게 객체를 생성하야만 일을 시킬 수 있습니다.
dogCar 객체를 만들어 속도를 높이는 행위를 하거나, 브레이크를 하는 행위 등을 할 수 있는 것입니다.
'Java' 카테고리의 다른 글
[Java] 6. 배열 (0) | 2019.03.01 |
---|---|
[Java] 5. switch문 (0) | 2019.03.01 |
[Java] 4. 자바에서의 연산 순서 (0) | 2019.02.25 |
[Java] 3. 자바의 자료형 (0) | 2019.02.25 |
[Java] 2. 데이터의 저장 (0) | 2019.02.20 |