Chef.Yeon
Code Cook
Chef.Yeon
전체 방문자
오늘
어제
  • 분류 전체보기 (230)
    • 게임 개발 (1)
      • Unity (1)
    • Android (27)
      • Kotlin (19)
      • 우아한테크코스 5기 (4)
    • Language (11)
      • 파이썬 (3)
      • Java (7)
    • DB (2)
      • SQL (16)
    • Spring (25)
    • 코딩테스트 (56)
    • Git (1)
    • TIL (85)
    • DevOps (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • kibana
  • kotlin
  • spring
  • 안드로이드
  • 내림차순
  • enum
  • webflux
  • 코딩테스트
  • 코틀린 인 액션
  • ec2
  • elasticsearch
  • 우아한테크코스
  • 파이썬
  • 프리코스
  • 다이나믹 프로그래밍
  • Android
  • 프로그래머스
  • rsocket
  • java
  • SQL
  • Wil
  • 코틀린
  • 백준
  • Docker
  • MariaDB
  • 문자열
  • grafana
  • 에라토스테네스의 체
  • 레포지토리
  • til

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Chef.Yeon

Code Cook

TIL

[WIL - 20230409]

2023. 4. 9. 22:32

객체지향 프로그래밍

객체지향 프로그래밍이란 컴퓨터 프로그래밍 패러다임 중 하나이다. 프로그램에 필요한 데이터를 추상화시켜, 상태와 행위를 가지는 객체를 만들고, 객체들 간의 상호작용을 통해 로직을 구성한다.

객체지향 프로그래밍은 추상화, 캡슐화, 다형성, 상속성의 특징을 가지고 있다. 클래스 단위로 모듈화 시켜 개발하기 때문에 업무 분담이 편리하고, 클래스 단위로 수정이 가능하기 때문에 유지 보수가 용이하다. 또한, 클래스를 재사용하거나 상속을 통해 확장함으로써 코드 재사용성이 높다. 하지만, 설계에 많은 시간이 들고, 처리 속도가 다른 프로그래밍 패러다임에 비해 느리다는 단점이 있다.

 

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
    'TIL' 카테고리의 다른 글
    • [TIL - 20230411] yml의 DB 정보 .gitignore 등록
    • [TIL - 20230410] DAO, DTO, VO
    • [TIL - 20230407]
    • [TIL - 20230403]
    Chef.Yeon
    Chef.Yeon
    보기 좋고 깔끔한 코드를 요리하기 위해 노력하고 있습니다.

    티스토리툴바