개발공부/JAVA

[JAVA] 객체 지향 프로그래밍 입문

jnnjnn 2024. 1. 28. 20:55

 

드디어 객체 지향 프로그래밍 수업에 들어가게 되었다. 어렵다고 많이 얘기를 들었던 만큼 걱정도 되고 여태까지 사용할 수 없었던 문법을 사용할 수 있게 된다고 하니 기대도 된다.

 

객체란?

같은 성격을 가진 변수와 메소드를 모아놓은 것을 객체라 한다

 

객체 지향 프로그래밍이란?

이러한 객체들을 모아서 프로그래밍을 하는 것을 객체지향 프로그래밍이라 한다.

 

객체 지향 프로그래밍에는 두가지 특징이 있다. 하나는 추상화이고, 다른 하나는 부품화이다.

 

1. 추상화

소프트웨어를 만드는 것은 현실을 추상화해서 반영하는 것이다. 추상화란 복잡한 현실에서 우리가 필요한 정보들만을 추출해서 정리한 것을 말한다. 

 

2. 부품화

프로그램을 부품화하면 해당 부품을 다른 부품에도 사용할 수 있다는 장점이 있다. 또, 단일화 했을때보다 문제점을 찾거나 교체하는 것도 용이하다. 이러한 부품화의 핵심은 연관된 메소드와 그 메소드가 사용하는 변수들을 분류하고 그룹핑 하는 것에 있다.

이러한 부품화의 특징으로는 은닉화, 캡슐화가 있는데 이는 사용자가 부품의 동작 방법을 몰라도 사용법만 알면 사용할 수 있게 하는 것이다.

또 이러한 부품들은 규격화된 인터페이스를 통해서 교환관계에 있어야 한다.