객체지향언어
객체지향언어는 기존의 프로그래밍 언어와 다른 전혀 새로운 것이 아니라, 기존의 프로그래밍 언어에 몇 가지 새로운 규칙을 추가한 보다 발전된 형태의 프로그래밍이다. 몇 가지 규칙들을 이용해서 코드 간에 서로 관계를 맺어 줌으로써 보다 유기적으로 프로그램을 구성하는 것이 하능 해졌다. 기존의 프로그래밍 언어에 익숙한 사람이라면 자바 언어의 객체지향적인 부분만 새로 배우면 된다. 다만 절차적 언어에 익숙한 프로그래밍 습관을 객체지향적으로 바꾸도록 노력이 필요하다
객체지향언어의 주요 특징
1. 코드의 재사용성이 높다 - 새로운 코드를 작성할 떄 기존의 코드를 이용하여 쉽게 작성할 수 있다.
2. 코드의 관리가 용이하다 - 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다.
3. 신뢰성이 높은 프로그래밍을 가능하게 한다 - 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다.
객체지향 언어의 가장 큰 장점은 코드의 재사용성이 높고 유지보수가 용이하다는 것이다. 이러한 객체지향언어의 장점은 프로그램의 개발과 유지보수에 드는 시간과 비용을 획기적으로 개선한 것이다. 객체지향 프로그래밍은 프로그래머에게 거시적 관점에서 설계할 수 있는 능력을 요구하기 때문에 객체지향개념을 이해했다 하더라도 자바의 객체지향적 장점들을 충분히 활용한 프로그램을 작성하기란 쉽지 않을 것이다.
너무 객체지향이라는 개념에 얽매여서 고민하기 보다는 일단 프로그램을 기능적으로 완성한 다음 어떻게 하면 보다 객체지향적으로 코드를 개선할 수 있을지를 고민하여 점차 개선해 나가는 것이 좋다. 경험들이 축적되어야 프로그램을 개체지향적으로 설계할 수 있는 능력이 길러지는 것이지 처음부터 이론을 많이 안다고 해서 좋은 설계를 할 수 있는 것은 아니라고 한다!
객체지향이론의 기본 개념은 실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물 간의 상호작용이다,라는 것이다. 실제 사물의 속성과 기능을 분석한 다음 데이터(변수)와 함수로 정의함으로써 실제 세계를 컴퓨터 속에 옮겨 놓은 것과 같은 가상 세계를 구현하고 이 가상세계에서 모의실험을 함으로써 많은 시간과 비용을 절약할 수 있었다고 한다. 객체지향 이론은 상속, 캡슐화, 추상화 개념을 중심으로 점차 구체적으로 발전되었다.
'Java' 카테고리의 다른 글
Java 17. 객체와 인스턴스(instance)의 개념 알아보기 (0) | 2023.03.15 |
---|---|
Java 16. 클래스와 객체(Class and Object) 용어 알아보기 (0) | 2023.03.15 |
Java 14. 상속 (inheritance) (0) | 2023.03.14 |
Java 13. Constructor 생성자 (Class 클래스) (0) | 2023.03.13 |
Java 12. Class 클래스 (0) | 2023.03.12 |