이번 WIL의 키워드
1.객체지향 프로그래밍이란?
2.JVM
기본개념
'실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다.'라는 것이다
주요 특징
- 코드의 재사용성이 높다.
- 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다.
- 코드의 관리가 용이하다.
- 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다.
- 신뢰성이 높은 프로그래밍을 가능하게 한다.
- 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다.
클래스의 정의 클래스란 객체를 정의해 놓은 것이다.
클래스의 용도 클래스는 객체를 생성하는데 상용된다.
객체의 정의 실제로 존재하는 것, 사물 또는 개념
객체의 용도 객체가 가지고 있는 기능과 속성에 따라 다름
유형의 객체 책상, 의자, 자동차, TV와 같은 사물
무형의 객체 수학공식, 프로그램 에러와 같은 논리나 개념
속성(property) 맴버변수(member variable), 특성(attribute), 필드(field), 상태(state)
기능(function) 메서드(method), 함수(function), 행위(behavior)
JVM은 'Java Virtual Machine'을 줄인 것으로 자바를 실행하기 위한 가상 기계라고 할 수 있다.
일반 애플리케이션의 코드는 OS만 거치고 하드웨어로 전달되는데 비해 Java애플리케이션은 JVM을 한 번 더 거치기 때문에, 그리고 하드웨어에 맞게 완전히 컴파일된 상태가 아니고 실행 시에 해석(interpert)되기 때문에 속도가 느리다는 담점을 가지고 있다.
일반 애플리케이션은 IS와 바로 맞붙어 있기 때문에 OS종속적이고, 다른 OS에서 실행시키기 위해서 애플리케이션을 그 OS에 맞게 변경해야 한다.
반면 Java 애플리케이션은 JVM하고만 상호작용을 하기 떄문에 OS와 하드웨어에 독립적이라 다른 OS에서도 프로그램의 변경 ㅇ벗이 실행이 가능하다.
단, JVM은 OS에 종석적이기 때문에 해당 OS에서 실행가능한 JVM이 필요하다.