Java_ 객체지향개념(객체지향 1-1)
객체지향 언어 역사와 특징
Java는 oop(object oriented programming)으로 유명하다. oop는 객체지향이라고 보면 된다.
현대시대 많이쓰이는 객체지향 언어 중 대표적인 것은 C++, Java, Python이 있다. 프로그래머에겐 객체지향의 개념은 꼭 배워야 하고 익숙해지고 확실히 알아야 한다. 개인적인 생각으로는 Java로 객체지향을 균형 있게 배운다면 c++도 쉽게 배울 수 있다고 생각한다. (책은 Java의 정석을 추천한다.)
객체지향 언어가 나오기 전 소프트웨어의 세상은 보통 C언어 같은 절차적인 언어 위주로 개발되었다. 하지만 절차적 언어는 빠르게 발전하는 소프트웨어에 어울리지 못했다. 그러면서 객체지향이론과 객체지향 언어가 탄생을 하게 되었다.
대표적인 예로 기존 C에서 객체지향이 추가 된 C++의 탄생이다. C++은 초기는 너무 어려워 객체지향이 일반화가 바로 되진 못했다. 하지만 지금은 Java, Python 등 다양한 객체지향 언어들이 나와 일반화가 잘 되고 배우기도 예전보다 훨씬 쉬워졌다.
절차적->객체지향으로 발전
그래서 객체지향언어의 특징과 장점은 무엇인가? 크게 3가지로 설명해보겠다.
- 코드의 재사용성이 높다. (새로운 코드를 작성하고 기존 코드를 이용할 때 매우 유리하다.)
- 유지보수가 용이하다. (코드간의 관계를 맺어 적은 노력으로 코드 변경이 가능하다.)
- 중복 코드 제거 (프로그래머의 숙명중 하나는 중복을 최대한 줄이는 것이다. 객체 지향은 중복을 줄이는데 용이하다.)
더 다양한 장점도 분명많을 것이고 단점 또한 있을 것이다. 일단 기본적인 객체지향을 쓰는 이유에 대해 설명해보았다.
Java 객체지향언어의 핵심
Java에서 oop 중요 한 것
1. 캡슐화
2. 상속
3. 추상화
4. 다형성
천천히 필자도 공부하면서 확실히 알게 된다면 꾸준히 글을 포스팅하겠다. 객체지향은 확실히 처음 접하면 어렵고 헷갈린다. 끊임없는 복습이 중요하다고 생각한다. 끊임없는 복습 또 한 개발자로서 가져야 할 자세라고 생각한다.
짧게 블로그 포스팅을 마치겠다.
🎈 다음 글 보기(객체지향1-2)
<일러스트>
2번째: https://www.flaticon.com/kr/free-icon/web-development_1688400?related_id=1688502&origin=search
<div>아이콘 제작자 <a href="https://www.freepik.com" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/kr/" title="Flaticon">www.flaticon.com</a></div>