java 12

[ 자바 / JAVA ] final 키워드

final의 간단한 의미는 "초기 세팅 후 바꾸지 못하게 막는다" 정도로 해석할 수 있을 것 같습니다. C++의 const와 비슷한 역할을 합니다. 메소드, 클래스, 변수에도 각각 사용되었을 때의 용법을 정리해보았습니다. [클래스의 final] final class MyClass{ ... } MyClass를 상속하는 것을 허용하지 않습니다. String 클래스가 대표적인 final 클래스 입니다. [final 메소드] class A{ final void aFunc(int n){ ...} } aFunc 메소드의 오버라이딩을 허용하지 않습니다. "A" 클래스는 상속은 가능하지만 A클래스는 상속받은 하위 클래스에서는 aFunc 메소드를 오버라이딩이 불가능합니다. [변수의 final] // 선언과 함께 초기화 ..

[ 자바 / JAVA ] 자바 가상 머신(JVM)과 자바 프로그램 실행

자바 가상 머신(Java Virtual Machine) 자바 가상머신도 운영체제 위에서 동작을 하는 프로그램을 실행하는 일종의 소프트웨어입니다. 작성한 자바 프로그램을 운영체제가 실행하는 것이 아닌 자바 가상머신이 실행합니다. 다시 말하면 자바 프로그램과 운영체제 사이에서 자바 가상머신이 중개자 역할을 하는 것 입니다. [ JVM의 구조 및 기능 ] 위에서 언급 한 것 처럼 자바 가상 머신이 자바 프로그램을 실행하므로 어떤 운영체제에서도 실행이 가능합니다. 또한 프로그램 메모리를 관리하고 최적화하는 기능을 가지고 있습니다. (Garbage Collector) JVM은 Class Loader, Runtime Data Areas, Execution Engine 3가지로 크게 구성되어 있습니다. Class L..