JVM && OOP

김지호·2022년 3월 20일
0

자바 가상 머신(Java Virtual Machine, JVM)은 어떠한 환경OS에서든 자바를 동작시킬수 있게 해주는 주체이다.

아래는 자바 프로그램 실행 단계입니다.(출처: https://steady-coding.tistory.com/305)


자바프로그램의 실행과정은
1. 프로그램 실행시 JVM은 OS로부터 필요한 메모리를 할당 받는다.(JVM은 할당받은 메모리를 용도에 따라 나누어 관리함.)
2. javac(자바 컴파일러)가 자바 소스코드(.java)를 자바 바이트코드(.class)로 변환시킨다.
3. Class Loader를 통해 JVM으로 로딩한다.
4. 로딩된 class파일은 Execution engine을 통해 해석된다.
5. 해석된 코드는 Runtime Data Areas에 배치되어 실직적인 수행이 이루어 진다.


객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 기능이 아닌 객체가 중심이 되어 "누가 어떠한 일을 할 것인가?"에 관점을 갖는다.

이러한 객체 지향 프로그래밍의 특징으로는

1.Abstraction(추상화)

  • 클래스 정의를 통해 객체들의 공통적인 특징(기능, 속성)을 도출하는것.
    2.Encapsulation(캡슐화)
  • 데이터를 은닉관리하여 외부와의 상호 작용시, 메소드를 통해 통신을 하기 때문에 정보 유출을 방지 할수 있다
  • 객체가 독립적으로 역활 할 수 있더록 데이터와 기능을 하나로 묶어서 관리하기 때문에 오류를 방지 할 수 있다.
    3.Inheritance(상속성)
  • 하나의 특징을 가징 클래스 생성시, 다른 클래스가 해당 클래스의 속성을 그대로 사용가능하다.
    4.Polymorphism(다형성)
  • 오버라이딩(OverRiding) : 부모클래스의 메소드와 같은 이름을 사용하며 매개변수도 같되 내부 소스를 재정의 하는 것.
  • 오버로딩(OverLoading) : 같은 이름의 함수를 여러 개 정의한 후 매개변수를 다르게 하여 같은 이름을 경우에 따라 호출하여 사용하는 것.
    5.Dynamic Binding(동적바인딩)
  • 프로그래밍의 유연성을 높여주며 파생 클래스에서 재정의한 함수의 호출을 보장함.

객체 지향 프로그래밍의 장점

  • 소프트웨어의 생산성 향상
  • 실세계에 대한 쉬운 모델링
  • 보안성 향상

객체 지향 프로그매밍의 단점

  • 느린 실행 속도


References

JVM
-https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_%EA%B0%80%EC%83%81_%EB%A8%B8%EC%8B%A0
-https://steady-coding.tistory.com/305
-https://asfirstalways.tistory.com/158
OOP
-https://jeong-pro.tistory.com/95
-https://ko.wikipedia.org/wiki/%EA%B0%9D%EC%B2%B4_%EC%A7%80%ED%96%A5_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D
-http://www.incodom.kr/%EA%B0%9D%EC%B2%B4_%EC%A7%80%ED%96%A5

profile
To be Developer

0개의 댓글

관련 채용 정보