코드 그라데이션
프로그래밍 언어와 Java 본문
컴퓨터의 성능이 낮을 때는 빠른 속도를 위해 주로 저급 언어를 사용했지만, 하드웨어의 성능이 기하급수적으로 발전함으로써 속도보다 생산성이 중요해졌다.
<개발 방법론>
순차적 기법 -> 절차적 기법 -> 구조적 기법
분석 -> 설계 -> 구현 -> 테스트 -> 보수
# 소프트웨어 위기
: 향상된 하드웨어의 성능을 활용하려는 요구 사항은 끝도 없이 늘어나는데 소프트웨어의 생산성은 이를 따라가지 못하는 현상
Top down 방식에서 Bottom-up 방식으로 : 이를 변화하게 만든 가능한 부분이 바로 '객체지향'
90년대 이후 C 언어가 객체지향 개념을 도입하여 C++로 업그레이드 됨.
자바의 특징
- 다중 상속이나 연산자 재정의 같은 복잡한 문법을 제거하여 단순 명료하다. 그래서 배우기 쉽고 실수할 가능성이 낮다.
- 캡슐화, 추상화, 상속, 다형성 등을 완벽하게 지원한다.
(C++은 혼합형인데 비해, 자바는 순수한 객체지향 언어이다.)
- 구조체는 클래스와 같아 따로 지원하지 않으며, 사용 빈도가 낮은 공용체도 제외하였다.
메서드의 디폴트 인수 기능도 제공하지 않는다.
- 인터넷을 주목적으로 개발한 언어라서 네트워크와 멀티 쓰레드를 기본 지원한다. JVM 자체가 멀티 스레드를 지원하여 운영체제의 영향을 받지 않는다.
- 가비지 컬렉터가 자동으로 메모리를 관리한다. 할당만 하고 사용하다가 내버려 두면 적당한 때에 쓰레기를 수집한다.
개발자는 부담 없이 메모리 관리 부담 없이 프로그램의 논리 구현에만 집중할 수 있어서 편리하며,
누수의 위험이 없어 신뢰성이나 안전성도 높다.
By. 자바 정복(시대고시기획)