프로그래밍 언어
- 프로그래밍 언어의 역할
사람과 컴퓨터의 대화 도움
사람의 언어와 기계어 사이에서 다리와 같은 역할
고급 언어와 저급 언어로 구분

자바란?
- 자바 소개
1995년 썬마이크로시스템즈(Sun Microsystems)에서 최초 발표한 언어
1991년 가전 제품에서 사용할 목적인 오크(Oak) 언어에서부터 시작
인터넷 프로그래밍 언어로 발전하면서 자바라는 이름으로 변경
2010년 오라클에서 썬을 인수하여 Java 개발, 관리, 배포 주관
- 자바의 특징
이식성이 높은 언어

객체 지향 언어 -> OOP(Object Oriented Programming)란?
- 부품 객체를 먼저 만들고, 이것들을 조합해 전체 프로그램을 완성하는 기법
자바는 처음부터 OOP 개발용 언어로 설계
- 캡슐화, 상속, 다형성 기능 완벽하게 지원

함수적 스타일 코딩 지원
- 함수적 스타일 코딩 방식인 람다식(Lambda Expressions) 지원
코드 간결하게 작성 가능
컬렉션 요소를 필터링, 매핑, 그룹핑, 집계 처리시 주로 사용
메모리를 자동으로 관리
- 사용하지 않는 객체를 자동으로 메모리에서 제거
- 핵심 기능 코드에 집중할 수 있도록 하는 기능
다양한 애플리케이션 개발 가능
멀티 스레드(Multi-Thread) 쉽게 구현 가능
- 동시에 여러가지 작업을 할 경우
- 대용량 작업을 빨리 처리할 경우
동적 로딩(Dynamic Loading) 지원
- 미리 객체를 만들어 놓지 않고 필요한 시점에 동적 로딩해 객체 생성
- 유지 보수 시 특정 객체만 쉽게 수정 및 교체해 사용
막강한 오픈 소스 라이브러리 풍부