Java 에서 접근 제어자(Access Modifiers)는 클래스, 변수, 메소드 및 생성자에 대한 접근을 제한하는데 사용된다. 접근 제어자는 객체 지향 프로그래밍의 캡슐화(encapsulation) 원칙을 지원하며, 데이터를 보호하고, 외부에서의 불필요한 접근을 제한한다. 쉽게 말하자면 유명한 맛집의 비법은 아무나 알 수 없게 하기 위함과 같다고 생각하면 된다. Java 에서는 아래의 네 가지의 접근 제어자를 사용한다. 1. Private 해당 멤버(변수, 메소드)를 선언한 클래스 내에서만 접근이 가능하다. 클래스 외부에서는 접근할 수 없으므로, 가장 제한적인 접근 수준을 제공한다. 주로 내부 작업을 위한 메소드나 변수에 사용된다. 2. Default (package - private) class 생..
JVM? JVM(Java Virtual Machine)은 OS의 메모리 영역에 접근하여 Java의 메모리를 관리하는 가상의 프로그램을 의미한다. C 또는 C++로 개발할 때는 사용자가 직접 메모리를 관리해주어야 한다. C 에서는 calloc, realloc, malloc 같은 것으로 메모리를 할당하여 쓰고난뒤 free로 해제를 직접 해줘야 하고, C++ 에서는 생성자와 소멸자를 이용하여 메모리를 관리해야 한다. 하지만 Java에서는 JVM이 Stack과 Heap이라는 메모리 관리하여 객체들을 할당하고 해제하며, GC(Garbage Collection)을 통해 사용하지 않는 객체들은 자동으로 해제하여 메모리를 관리한다. Stack & Heap 1. 스택(Stack) Stack은 정적으로 할당된 메모리(St..
삼항 연산자 삼항 연산자는 Java에서 3개의 피연산자를 받는 유일한 연산자이다. if 조건문을 짧게 표현할 수 있는 장점이 있지만, 축약된 형식이기 때문에 가독성을 해치기도 한다. 특히 한 줄에 조건식과 결괏값들이 모두 모여있으므로 디버거로 줄단위 디버깅을 할 때 불편하다. 게다가 삼항 연산자를 사용하여 코드의 라인이 줄어들었다고 컴파일 속도가 빨라지는것도 아니다. 따라서 가독성을 해치지 않으면서 코드가 간결해지는 경우에만 삼항 연산자를 사용해야한다. if-else 문을 사용한 경우 int Val = 10; if (Val