Java 14

4. 메모리 구조

메모리 구조 모든 자바 프로그램은 자바 가상 머신(JVM)을 통해서 실행됩니다. 자바 프로그램이 실행되면, JVM은 운영 체제로부터 해당 프로그램을 수행할 수 있도록 필요한 메모리를 할당받습니다. 이렇게 할당받은 메모리를 JVM은 용도에 따라 다음과 같이 구분하여 관리합니다. 메소드(method) 영역 메소드(method) 영역은 자바 프로그램에서 사용되는 클래스에 대한 정보와 함께 클래스 변수(static variable)가 저장되는 영역입니다. JVM은 자바 프로그램에서 특정 클래스가 사용되면 해당 클래스의 클래스 파일(*.class)를 읽어들여, 해당 클래스에 대한 정보를 메소드 영역에 저장합니다. 힙(heap) 영역 힙(heap) 영역은 자바 프로그램에서 사용되는 모든 인스턴스 변수가 저장되는 영..

Java 2020.12.26

3. 논리 연산자

논리 연산자(logical operator) 논리 연산자는 주어진 논리식을 판단하여, 참(true)과 거짓(false)을 결정하는 연산자입니다. AND 연산과 OR 연산은 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽입니다. NOT 연산자는 피연산자가 단 하나뿐인 단항 연산자이며, 피연산자의 결합 방향은 오른쪽에서 왼쪽입니다. 논리 연산자설명 && 논리식이 모두 참이면 참을 반환함. (논리 AND 연산) || 논리식 중에서 하나라도 참이면 참을 반환함. (논리 OR 연산) ! 논리식의 결과가 참이면 거짓을, 거짓이면 참을 반환함. (논리 NOT 연산) 다음은 논리 연산자의 모든 동작의 결과를 보여주는 진리표(truth table)입니다. ABA && BA || B!..

Java 2020.12.26

2. 자바 프로그래밍

자바 프로그램의 실행 과정 자바로 작성된 프로그램은 다음과 같은 순서로 실행됩니다. 자바 컴파일러(Java compiler) 자바 컴파일러는 자바를 가지고 작성한 자바 소스 코드를 자바 가상 머신이 이해할 수 있는 자바 바이트 코드로 변환합니다. 자바 컴파일러는 자바를 설치하면 javac.exe라는 실행 파일 형태로 설치됩니다. 자바 바이트 코드(Java bytecode) 자바 바이트 코드(Java bytecode)란 자바 가상 머신이 이해할 수 있는 언어로 변환된 자바 소스 코드를 의미합니다. 자바 컴파일러에 의해 변환되는 코드의 명령어 크기가 1바이트라서 자바 바이트 코드라고 불리고 있습니다. 이러한 자바 바이트 코드의 확장자는 .class입니다. 자바 바이트 코드는 자바 가상 머신만 설치되어 있으면..

Java 2020.12.26

1. Java 의 장단점

자바 언어가 가지는 장점은 다음과 같습니다. 1. 자바는 운영체제와는 독립적으로 실행할 수 있습니다. 2. 자바는 불필요한 기능을 과감히 제거하여 다른 언어에 비해 배우기가 쉽습니다. 3. 자바는 자동 메모리 관리 등을 지원하여 다른 언어에 비해 안정성이 높습니다 4. 자바는 연산자 오버로딩을 금지하고 제네릭을 도입함으로써 코드의 가독성을 높였습니다. 5. 자바에 관한 수많은 참고 자료를 찾을 수 있습니다. 자바 언어가 가지는 단점은 다음과 같습니다. 1. 자바는 실행을 위해 자바 가상 머신을 거쳐야 하므로, 다른 언어에 비해 실행 속도가 느립니다. 2. 자바는 예외 처리가 잘 되어 있지만, 개발자가 일일이 처리를 지정해 줘야 한다는 불편함이 있습니다. 3. 자바는 다른 언어에 비해 작성해야 하는 코드의..

Java 2020.12.26