본문 바로가기

자바/정리

(JAVA)객체지향

객체지향... 객체... 이게다 무슨 소리인가 싶다. 사전적 뜻을 먼저 살펴보자.

 

객체 지향 프로그래밍(영어: Object-Oriented Programming, OOP)은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다.

 

시간을 길게 두고 찾아보았다. 나는 객체는 무엇이다. 라고 정의한 정보를 찾기가 다소 어려웠다. 깊게 알아보니 아직도 객체라는 정의에 대해서 여러 사람들 간에 논의가 많다고 한다.

 

비슷한 비유와 설명들을 모아보면

 

1.데이터와 기능을 모은 컴퓨터의 자원의 묶음을 객체라고 한다.

2.인스턴스가 객체이다.

3.클래스가 붕어빵틀이고 객체는 붕어빵이다.

 

이것들 말고 비유해 놓은게 수십가지는 될것이다. 다만 이 모든것들은 생성자(인스턴스 초기화) 및 인스턴스를 뜻하고 있다.

 

따라서 이 객체지향이라는 글을 작성하는데 아직 나는 지식이 부족하겠지만 앞으로 공부하는데 방향성을 잡기 위해 기본 개념을 서술 하고자 한다.

 

사전의 뜻은 한국어로 작성되었지만 이해하기가 어렵다. 객체란 메서드와 변수의 묶음을 말한다.(인스턴스)

 

우리는 인스턴스를 배웠다 그리고 

 

HCalculator c1 = new HCalculator(20,40);
c1.sum();

이런걸 만드면서 간단한 구조지만 c1이라는 객체를 생성한다고 설명했었다. 

c1은 클래스에서 인스턴스화 해서 메서드를 불러오고 인자를 넣어서 우리가 원하는 결과를 도출하게 된다. 이것이 내가 생각하는 객체이다. 


이런 작은 객체들이 모여서 또 다른 객체들이 되고 이것들이 서로 묶이면서 몸집이 커지고 결국 하나의 프로그램이 완성이 되는 것이다. 이런 객체들의 모임이 객체지향 프로그래밍이라고 생각한다. 

우리는 이 게시물 이전까지 상속과 overriding 등을 배웠다. 하지만 객체지향을 완성하는데 필요 개념들은 아직도 많이 남았다. 앞으로 배울 캡슐화, 추상화,인터페이스, 다형성 등이 아직 부족한 객체지향 지식을 채울 수 있기를 희망한다.

 

'자바 > 정리' 카테고리의 다른 글

(JAVA)캡슐화 (getter와 setter)  (0) 2022.11.13
(JAVA)캡슐화 (접근제어자)  (0) 2022.11.13
(JAVA)Overriding 과 Overloading  (0) 2022.11.12
(JAVA)상속2  (0) 2022.11.11
(JAVA)상속  (0) 2022.11.10