Object Oriented Programming, OOP
프로그래밍 기법은 크게 객체지향과 절차지향으로 나눠진다. 객체지향언어는 객체를 생성, 조립, 연결함으로써 프로그램을 완성해나가는 기법을 사용한다.
서로 다른 실행 환경을 가진 시스템 간에 프로그램을 옮겨 실행할 수 있다. Java 언어로 개발된 프로그램은 별도의 소스 파일 수정 없이도, 자바 실행 환경(JRE: Java Runtime Environment)이 설치되어 있는 모든 운영체제에서 실행 가능하다.
메모리 관리를 개발자가 직접 해야하는 C++과 다르게 자바는 객체 생성 시에 자동으로 메모리를 할당하고 사용이 끝나면 Garbage Collector
를 사용해 직접 메모리를 관리한다.
객체가 필요한 시점에 클래스를 동적 로딩해서 생성한다. -> 애플리케이션을 실행할 때 모든 객체가 생성되지 않는다. 따라서 유지보수가 쉽다.
멀티 스레드(multi thread)란 하나의 프로세스 내에서 둘 이상의 스레드가 동시에 작업을 수행하는 것을 의미한다. 비유하자면 여러 명의 일꾼을 고용해서 사용 가능하다는 것이다. java에서는 지원하는 관련 라이브러리를 사용해 운영체제 상관없이 멀티 쓰레드를 구현할 수 있다.