본문 바로가기

Hello Java

Java_클래스(Class)

20221212

45일차

 


앞의 블로깅에서

자바의 핵심 개념들에 대해 알아봤다.

 

객체 지향 프로그래밍 언어인 만큼

거의 대부분이 객체로 이루어져 있으며

각각의 기능과 속성들을 자유롭게 사용할 수 있어야한다.

 


우리가 프로그래밍을 코딩 하는 목적은

현실세계의 객체소프트웨어 객체로 변환하기 위함이다.

 

따라서 현실의 객체를 표현하기 위해

객체를 크게 두 가지의 분류로 나눈다.

바로 속성동작이다.

 

객체는 속성과 동작으로 구성되어있다.

여기서 객체의 속성이란, 변수들이 가장 잘 표현하며

객체의 동작메소드가 가장 잘 표현한다.

 

이렇게 프로그램을 설계하는 방식을

객체 모델링(Object modeling)이라 한다.

 

 


객체간의 관계

 

이렇게 설계된 객체들은

서로 상호작용을 할 수 있으며

관계라는게 생긴다.

 

이를 크게 3가지로 나눌 수 있다.

 

집합관계

 

집합관계는 쉽게설명하면

완성품부품관계이다.

 

완성품은 부품으로 이루어져 있는것처럼

하나의 객체안에 구성요소로 객체를 가지고있는 관계를 말한다.

 

사용관계

 

사용관계란 단어 뜻 그대로 사용하는 관계를 뜻한다.

서로 상호작용하는 관계라면,

객체는 다른 객체를 호출하여 원하는 결과를 얻어낸다.

 

상속관계

 

상속관계란 상속하는 관계를 뜻한다.

상속하는 객체가 존재하고 상속받는 객체가 존재하며

이를 우리는 부모객체, 자식객체로 표현한다.

 

이러한 객체의 특성을 가지고

우리는 여러 프로그래밍 코딩을 구현할 수 있다.

 

즉, 이 세상에 존재하는 모든것을 객체로 표현할 수 있다.

 


객체와 클래스

 

세상에 존재하는 어떤것이든 우리가 객체로 표현하려면

가장 기본적인것부터 객체로 표현하면 된다.

 

이를 좀 더 쉽게 설계하고, 복사하기 위해 우리는 설계도라는것을 만든다.

 

이를 우리는 Class라고 말한다.

# Class도  객체이다.

 

그리고 이 설계도가 가지고있는 구성요소를

클래스의 인스턴스라고 한다.

 

그렇다면 설계도 안에는 어떤 것들을 넣어놔야 할까?

 


필드, 생성자, 메소드

 

1. 필드

 

필드란 객체의 고유한 데이터를 선언(저장)하는 곳이다.

객체의 구성요소, 클래스의 구성요소 역할을 한다.

 

2. 생성자

 

객체란 서로 상호작용할 수 있으며

이때 호출을 하기위한 가장 기본적인 방법으로

다른 객체에서 new연산자로 호출하는 특별한 블록이다.

 

3. 메소드

 

객체의 기능을 담당하는 구역이다.

함수란 기능을 선언한것이다.


때문에 함수가 객체안에 있다는것은

객체의 기능을 만들어 놓았다고 생각해도 좋다

 

 


이상으로 객체는 어떻게 구성이 되는지

어떻게 파생이 되는지 클래스란 개념을 통해 이해가 되었으면 한다.

 

정말 세세하게 각각의 개념에 대해 블로깅하는것은

1차 자바 블로깅이 끝나면 틈틈히 할 계획이다.

 

가장 중요한 객체라는 개념과

객체프로그래밍은 어떻게 구성이 되있는지

이해하는게 우선이라 생각한다.

'Hello Java' 카테고리의 다른 글

Hello Java  (0) 2022.12.10