자바는 객체 지향 프로그래밍 언어에 속한다. 객체 지향 프로그래밍은 영어의 앞 글자들을 따 OOP라고도 하는데 다른 말로는 조립식 프로그래밍이라고 한다. 프로그램을 각 부분별로 완성을 시켜 그것들을 조립해 전체를 완성하는 방법이다. 자전거를 하나의 프로그램이라고 하자. 이때 자전거의 부품들은 객체인 것이다. 이러한 객체 지향 프로그래밍은 크게 3가지 장점이 있다.
============================
첫 번째, 프로그램의 유지보수가 용이하다. 앞서 설명하였듯이 OOP는 조립식 프로그래밍이기 때문에 특정 부분에서 오류가 나도 그 부분만 수정하거나 교체를 하여 오류 해결이 가능하다.
두 번째, 객체 재사용이 가능하다는 것이다. 이를 통해 특정 객체를 다른 프로그램에서도 사용을 할 수 있다.
세 번째, 기존 프로그램에 새로운 것을 추가하는 것이 쉽기 때문에 프로그램 확장이 편리하다.
============================
프로그램은 객체를 조립하여 만든다고 하였다. 그렇다면 객체를 어떻게 만드는지에 대해 알아야 한다. 객체는 클래스를 통해 만들 수 있는데 클래스는 객체를 만들기 위한 설계도라고 할 수 있고, 클래스를 통해 객체를 만드는 과정을 인스턴스화라고 한다. 그렇기 때문에 객체를 다른 말로 인스턴스라고도 부른다. 객체를 만들기 위한 설계도에 속하는 이 클래스를 만들기 위해서는 필드(객체가 가지게 될 상태)와 메서드(객체가 수행할 동작)가 필요하다.
클래스는 필드와 메서드로 이루어져 있다. 위의 Person 클래스는 필드로 String 타입의 변수 name과 int 타입의 변수 age를 필드로 가지고 있고, Hello를 출력하는 speak() 메서드로 가지고 있다. 이렇게 Person이라는 클래스를 만들었다. 그렇다면 객체를 만들 차례이다. 객체는 클래스로 만드는 것이라 설명하였다.
설명하기에 앞서 클래스도 데이터 타입으로 볼 수 있다는 것을 알아두어야 한다. 객체를 생성하기 위해서는 new를 사용해야 한다. 메인 클래스에서 객체를 생성하였고, 5번째 줄을 보면 변수형 타입이 Person 클래스인 변수 per에 새로운 객체를 넣어 준 것이다. 그 아래 Person 클래스 내에 필드로 정의된 name과 age는 클래스의 외부에서 접근을 하기 위해서는 객체를 생성하여하는데 예시와 마찬가지로 '변수.'을 붙여 초기화가 가능하다. 또한, 메서드 역시 동일한 방법으로 호출이 가능하다.
앞서 Person 클래스로 하나의 객체를 생성했지만, 하나의 클래스로 무수히 많은 객체를 생성할 수 있다. 자전거 설계도만 있으면 여러 대의 자전거를 만들 수 있는 것과 동일하다.
클래스와 객체를 생성하는 것에 대해 학습하였다. 이를 바탕으로 이름이 Square이고 정사각형의 넓이를 반환하는 메서드를 가지는 클래스를 만들어보는 예제를 해보려 한다.
코딩을 하게 되면 많은 클래스와 객체를 작성하게 된다. 클래스와 객체에 대해서 다룰 이야기는 아직 너무나 많지만 제일 기본을 잘 숙지하도록 해야 할 것이다.
'Java' 카테고리의 다른 글
Chapter 13 - Reference & Static (0) | 2022.01.11 |
---|---|
Chapter 12 - 생성자 (0) | 2022.01.10 |
Chapter 10 - 배열 (0) | 2022.01.06 |
Chapter 09 - 반복문 (0) | 2022.01.05 |
Chapter 08 - 조건문 (0) | 2022.01.04 |