절차지향 언어
- 데이터 중심
- 물이 위에서 아래로 흐르는 것처럼
순차적 처리
가 중요시 되며, 프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 기법 - 대표적 언어 C언어
소프트웨어 언어의 발달과 컴파일러의 발달로, 하드웨어가 소프트웨어의 발달을 따라오지 못하는 상황이 생김
객체 지향 언어
- 기능 중심
- 개발하려는 것을 기능별로 묶어 모듈화를 함으로써 하드웨어가 같은 기능을 중복으로 연산하지 않도록 하고, 모듈을 재활용 하기 때문에 하드웨어의 처리양을 획기적으로 줄여주었다.
- 컴퓨터 부품을 하나씩 사다가 컴퓨터를 조립하는 것과 같은 방법
- 대표적 언어 Java언어
- 3대 특성
- 캡슐화
- 관련된 데이터와 알고리즘(코드)이 하나의 묶음으로 정리된 것으로써 개발자가 만들었으며, 관련된 코드와 데이터가 묶여있고 오류가 없어 사용이 편리하다. 데이터를 감추고 외부 세계와의 상호작용은 메소드를 통하는 방법인데, 라이브러리로 만들어 업그레이드하면 쉡게 바꿀 수 있다.
- 상속
- 이미 작성된 클래스를 이어 받아서 새로운 클래스를 생성하는 기법으로 위에서 말한 기존 코드를 재활용해서 사용하는 것을 의미한다. 객체지향 방법의 큰 장점 중 하나
- 다형성
- 하나의 이름(방법)으로 많은 상황에 대처하는 기법. 개념적으로 동일한 작업을 하는 함수들에게 똑같은 이름을 부여할 수 있으므로 코드가 더 간단해지는 효과가 있다.
- 캡슐화
- 장점
- 코딩이 절차지향보다 간편
- 높은 코드 재활용성
- 쉬운 업그레이드
- 쉬운 디버깅
- 단점
- 처리속도가 절차지향보다 느림
- 설계에 많은 시간소요가 들어감
'자바 상식 > 자바기초' 카테고리의 다른 글
1. 상속과 구성 (0) | 2020.05.13 |
---|---|
2. 지역변수와 인스턴스 변수 차이 (0) | 2020.05.13 |
3. 디자인패턴 스트래티지 패턴 (0) | 2020.05.13 |