객체지향 프로그래밍
객체지향 프로그래밍이란 컴퓨터 프로그래밍 패러다임 중 하나이다. 프로그램에 필요한 데이터를 추상화시켜, 상태와 행위를 가지는 객체를 만들고, 객체들 간의 상호작용을 통해 로직을 구성한다.
객체지향 프로그래밍은 추상화, 캡슐화, 다형성, 상속성의 특징을 가지고 있다. 클래스 단위로 모듈화 시켜 개발하기 때문에 업무 분담이 편리하고, 클래스 단위로 수정이 가능하기 때문에 유지 보수가 용이하다. 또한, 클래스를 재사용하거나 상속을 통해 확장함으로써 코드 재사용성이 높다. 하지만, 설계에 많은 시간이 들고, 처리 속도가 다른 프로그래밍 패러다임에 비해 느리다는 단점이 있다.
JVM
JVM은 자바 가상 머신 Java Virtual Machine 을 의미한다. JVM은 JRE를 설치할 때 함께 설치된다. JVM을 사용함으로써 자바 프로그램을 모든 플랫폼에서 동작하도록 할 수 있다.
개발자가 소스 코드를 작성하면 컴파이일러가 각 기계가 이해하는 기계어로 변환하여 실행 프로그램을 만들어 준다.
이 때 기계어는 특정 OS나 CPU 구조에 맞춰진 컴파일러에 의해 다르게 컴파일된다. 즉, 윈도우, 맥, 리눅스 등 OS에 따라 다르게 컴파일되어, 만약 컴파일된 코드가 윈도우에서 컴파일 되었다면 리눅스 환경에서는 읽을 수 없다.
이렇게 컴파일러가 운영체제제 의존적이던 문제를 해결하기 위해 JVM이 등장한다. JVM을 거쳐 운영체제와 상호작용 하기 때문에 어떤 OS 이든지 운영체제로부터 독립적으로 프로그램을 실행할 수 있다.
728x90
'TIL' 카테고리의 다른 글
[TIL - 20230411] yml의 DB 정보 .gitignore 등록 (0) | 2023.04.11 |
---|---|
[TIL - 20230410] DAO, DTO, VO (0) | 2023.04.10 |
[TIL - 20230407] (0) | 2023.04.07 |
[TIL - 20230403] (0) | 2023.04.04 |
[TIL - 20230324] (0) | 2023.03.24 |