3주차 - 연산자 산술 연산자 변수와 데이터에 대한 산술 연산을 수행하는데 사용됨 연산자 수행 연산 + 덧셈 - 뺄셈 * 곱셈 / 나눗셈 (몫만 취함) % Modulo 연산 (나누기 연산 후 나머지만 취함) Overflow 가능성 연산 결과가 피연산자 타입의 저장 가능 범위를 벗어나게 되면 오버플로우가 발생, 의도치 않은 값이 변수에 저장됨 int a = 2_100_000_000; int b = 2_000_000_000; System.out.println(a + b); // -194967296 따라서 연산 시, 오버플로우 발생 가능성을 염두에 두어야 함 /와 % /는 몫만 취하고, %는 나머지만 취함 즉, 6 / 4 = 1, 6 % 4 = 2. 나눗셈 연산 시 /의 반환 타입 a / b 에서 a와 b가 ..
프리미티브 타입과 레퍼런스 타입 프리미티브 타입 (Primitive Type) 실제 값 자체를 Stack에 저장 byte, short, int, long, char 등 레퍼런스 타입 (Reference Type) class, interface, enum, array, String 값에 대한 참조(주소값)을 Stack에 저장 실제 값은 Heap에 저장 Example Stack Heap int a = 10; char b = 'C'; MyClass myClass = 100번지; 100번지 = myClass 인스턴스 프리미티브 타입 종류, 범위, 기본 값 이름 크기 값 범위 기본 값 비고 byte 1 byte -128 ~ 127 0 short 2 bytes -32,768 ~ 32,767 0 signed int ..
JVM이란 무엇인가 JVM (Java Virtual Machine) Java로 작성된 프로그램은 .class 확장자로 컴파일됨 이렇게 변환된 .class 파일이 JVM 위에서 실행됨 즉, JVM은 프로그램을 실행하기 위한 물리적 머신과 유사한 머신을 소프트웨어로 구현한 것을 말함 WORA(Write Once Run Anywhere) JVM의 목적 중 하나 JVM 라는 가상 머신이 OS 위에서 동작하기 때문에 자바 코드가 동일하게 하나의 .class 파일로 컴파일되어도 모든 OS (위의 JVM)에서 실행할 수 있다. JVM 자체는 OS에 의존적이다. [출처 : Tecoble - JVM에 관하여 - Part 1] JRE (Java Runtime Environment) JRE는 자바 코드를 실행하기 위한 환경..