-
객체지향언어란?프로그래밍/Java 2019. 9. 22. 18:56반응형
1. 객체지향 언어의 역사
객체 지향 이론은 '실제 세계 사물로 이루어져 있으며, 발생하는 모든 사건들은 사물 간의 사호 작용이다.' 사물의 속성과 기능을 분석하고 그것을 실체화해서 프로그래밍 언어로 녹여 사용했다. 객체지향 이로 능ㄴ 상속, 캡슐화, 추상화 개념을 중심으로 점차 구체적으로 반전되었다. 1960년대 중반 시뮬라라는 최초의 객체지향 언어가 탄생하였다.
당시에 fortran이나 cobol과 같은 절차적 언어가 많이 사용되었지만, 1980년대 중반부터 객체 지향 언어가 많이 사용되었다. 80년대 이후로는 필요성을 많이 느끼고 빠르게 발전하였다.
2. 객체지향언어의 특징
- 코드 재사용성이 높다
- 코드의 관리가 용이하다
- 신뢰성이 높은 프로그래밍을 가능하게 한다.
솔직히 말해, 저자는 맨 처음 이것을 읽을 때는 뭔 소리인지 잘 몰랐다. 여기서 중요한 건 유지보수, 재사용성과 사람이 인지하면서 코딩을 쉽게 만드는 게 프로그램에선 정말 중요한 요소인데 이 부분을 객체지향 언어로 해소했다고 이해하면 된다. 현업에서는 프로그래머들이 코드를 계속 붙여 넣기로 사용하기 싫고 귀찮은 작업이니깐(현업에서 뛰다 보면 몇천 줄, 몇만 줄을 쓰게 된다.) 이것을 어떻게 재사용을 할지 구성하다가 객체지향 언어로 전환했다고 생각하면 이해하기 쉽다.
3. 객체지향의 3요소
-상속
-캡슐화
-다형성
캡슐화(Encapsulation)
프로그램 내에서 같은 기능을 목적으로 작성된 코드를 모아서 다른 곳(클래스)에서 안보이게 숨기는 것.
클래스에 정의된 속성(Attribute)는 숨기고(Private), 객체가 수행할 기능(Function)은 공개(Public)하는 것을 의미한다.
상속(Inheritance)
클래스 사이에 부모와 자식 클래스가 존재할 수 있다는 뜻.
자식 클래스는 상속받은 부모 클래스의 속성(변수) 및 기능(메서드, 함수)을 물려받는 것을 의미한다.
다형성(Polymorphism)
Overriding과 Overloading 두가지로 나뉨.
반응형'프로그래밍 > Java' 카테고리의 다른 글
JAVA 생성자란? (인스턴스, 멤버변수, 초기화, 필드) (0) 2019.09.24 java 오버로딩(overloading) (0) 2019.09.23 Java while문 (0) 2019.09.22 JAVA 반복문 for문(초기식,변경식,증감식) (0) 2019.09.22 JAVA switch 조건문 (0) 2019.09.22