딴따라 제퍼의 개발 유랑기

Class 본문

Java

Class

dev_zephyr 2021. 1. 27. 17:01

Class : 객체지향(OOP)에서 객체를 정의해 놓은 것.

 

 

클래스란 쉽게 말해 일종의 설계도입니다.

자바에서 클래스는 필드와 메소드로 이루어져 있는데,

이 설계도를 가지고 객체를 생성하는데 사용하게 됩니다.

 

- 필드(Field)

필드란, 해당 객체가 어떤 정보들을 보관할지 규정하는 공간이 됩니다.

 

 

정보들이 가져야할 공간을 선언하고, 해당 설계도로 만들어진 객체들이

해당 공간에 필요한 값을 대입하여 사용하게 됩니다.

예제는 학생들의 정보를 저장하고 싶은데,

이름, 나이, 국어점수, 영어점수, 수학점수, 주민번호는 모든 학생들에게 '공통적'으로 

적용되는 분류이고 각각 학생들마다 데이터는 다르게 입력받게 됩니다.

(학생들 모두 이름을 가지고 있지만 이름은 다 다르니까)

그래서 모든 학생들에게 공통적으로 적용되는 분류를 하나의 설계도로 만든 뒤,

그 설계도를 통해 각 학생들의 객체를 만들어 각기 다른 정보들을 입력받습니다.

 

 

- 메서드(Method)

메서드란 클래스를 통해 생성된 객체가 가지고 있는 기능을 정의해 놓은 것입니다.

클래스가 가지고 있는 메서드는 해당 클래스로 생성된 객체 모두 그 기능을 사용할 수 있게 됩니다.

 

모든 학생들 각각의 평균을 구하려면 그 학생들의 국어,영어,수학 점수를 불러와서 더하고 나눠야

하는 번거로움을 해소하기 위해

클래스 자체에 평균을 반환하는 메서드를 선언해 놓았습니다.

 

예제에서는 두개의 객체만 생성하고 비교하여 별 감흥이 없을수도 있으나,

만약 객체가 수백 수천개를 생성하고 연산을 해야한다면..

늘어나는 코드의 양은 엄청나지 않을까..?

 

그리고 만약 새로운 점수, 예를 들어 과학 점수가 추가되었고, 추가된 과학 점수까지 포함한

평균값을 구하려 코드를 수정해야 한다면..

 

이런식으로 모든 코드를 수정해야 하지만

클래스를 아는 우리는 필드에 과학점수 영역 선언, 메서드 한줄 수정을 통해 이러한 노가다에서 

벗어날 수 있습니다. 그리고 줄어든 코드만큼 훨씬 직관적으로 알 수 있습니다.

 

 

 

정리

클래스는 객체가 만들어지지 않는다면 의미가 없습니다.

설계도라 말하지만 쉽게말해 껍데기, 틀이기 때문입니다.

객체는 클래스를 본떠 만든 실제로 존재하는 것 입니다.

 

클래스는 같은 코드를 반복하여 적지 않고 재사용 가능하게 만들어주고,

코드의 중복을 제거하여 혹시 있을 오타로 인한 에러를 방지하게 해주며,

클래스의 수정을 통해 수백 수천개의 객체를 수정할 수 있어서 유지, 보수를 편하게 해주는

객체지향의 장점을 가지고 있습니다.

 

 

'Java' 카테고리의 다른 글

Java 개발 환경 세팅  (0) 2021.01.27
Static  (0) 2021.01.27
Class Constructor (생성자)  (0) 2021.01.27
별찍기 java 예제 (for문 예제)  (0) 2021.01.27
Comments