개요이번 포스팅에서 나오는 주요 키워드 함수 (Function)클래스 (Class)변수 (Variable)메서드 (Method)추상화 (Abstraction)캡슐화 (Encapsulation)JVM (Java Virtual Machine)컴파일 (Compile)런타임 (Runtime)static 키워드 (Static Keyword)this 키워드 (This Keyword)call by value / call by reference다형성 (Polymorphism)상속 (Inheritance)접근 제어자 (Access Modifier)가비지 컬렉션 (Garbage Collection) 본문Q1. 자바에서 함수가 무엇인지 설명하시오.더보기A1. 함수는 입력값을 받아서 출력값을 반환하는 기능을 수행하는 코드의 ..
분류 전체보기
개요 매운맛은 하단에2024.06.25 - [Java] - 자바가상머신의 메모리 구조: JVM Runtime Data Area 자바가상머신의 메모리 구조: JVM Runtime Data Area개요자바가 제공하는 메모리 관리는 할당과 해제를 하여 관리해야하는 다른 언어들과는 달리 개발자의 편의성 측면에서 많은 이점을 가져온다. 하지만 그 이면으로 내가 직접 관리를 하지 않기nstgic3.tistory.com2024.06.25 - [Java] - JVM스택메모리 구조 이해를 위한 바이트코드 예시 JVM스택메모리 구조 이해를 위한 바이트코드 예시개요JVM의 메모리 영역 구성 요소중 하나인 자바가상머신 스택에 대한 이해를 위해 예제를 통해 각 구역에 데이터가 할당되고 해제되는것을 javap 명령어를 통해 알..
개요자바에서 변수는 선언 위치와 제한자에 따라 특성과 용도가 달라집니다. 이를 이해하면 코드 설계에서 효율적인 전략을 세울 수 있습니다. 스프링을 이용해 서버를 구현할때 더 효율적인 인스턴스 생성이나 변수 관리를 할수도 있고 통과가 타이트한 알고리즘 문제를 풀때에도 적극적으로 이용할수 있습니다. (무조건 알아둬야 된다는뜻)클래스 변수 (Static으로 선언된 변수) 정의: static 키워드로 선언된 변수. 클래스 로딩 시 한 번만 생성되고, 모든 객체가 공유.위치: 클래스 내부, 메서드 외부.특징클래스에 귀속되고, 객체가 공유하는 변수.프로그램 종료 시까지 유지.사용 전략:모든 객체가 공통으로 사용할 값(상수, 카운터 등)을 관리.메모리 절약 및 데이터 일관성 유지 public static 의 경우..
개요이번 글에서는 예제를 통해 자바가 배열을 생성하는 원리를 자세히 알아봅니다. 자바에서 배열은 데이터의 집합을 다루는 데 매우 유용하며, 올바르게 초기화하고 사용하는 방법을 이해하면 코드의 가독성과 안정성을 높일 수 있습니다. 또한 알고리즘 풀이에 아주 유용하게 쓰일수 있습니다. // CASE1int[] arr;arr = {1, 21, 312, 3, 123, 1};// CASE2int[] arr = new int[6]{1, 21, 312, 3, 123, 1}; 위의 코드는 오류가 날까요? 배열 선언과 초기화자바에서 배열은 일반적으로 아래 두 단계를 통해 생성해서 씁니다.배열 선언: 배열의 데이터 타입과 이름을 지정합니다.배열 생성: 메모리를 할당하고 배열 요소를 초기화합니다.int[] arr; /..
목차 개요이번 포스팅에서 나오는 주요 키워드JRE, JDK, JVM: 자바 실행 환경(JRE)과 개발 환경(JDK)의 차이점은 JRE는 실행만 가능하고, JDK는 개발 도구까지 포함. JVM은 자바 바이트 코드를 실행하며, 플랫폼 독립성을 제공.저급언어 vs 고급언어: 저급언어는 하드웨어에 종속적이고 이식성이 낮으며, 고급언어는 사람이 이해하기 쉬워 이식성이 높음.컴파일러 vs 인터프리터: 컴파일러는 소스 코드를 전체 번역 후 실행 파일 생성. 인터프리터는 한 줄씩 번역과 실행을 동시에 수행.파이썬과 자바의 실행 방식: 파이썬은 인터프리터 방식으로 즉시 실행, 자바는 컴파일 후 바이트 코드 생성 및 JVM 실행..java 파일 vs .class 파일: .java는 사람이 작성한 소스 코드 파일, .cla..
개요 이번 글에서는 예제를 통해 자바의 String Pool과 intern() 메서드 개념을 자세히 알아봅니다. 문자열 리터럴과 new 연산자를 통한 객체 생성, 그리고 intern() 메서드 사용 시 String Pool 내의 객체 참조를 어떻게 변경하는지 살펴봅니다. 들어가기 전에 // Case 1String str1 = "Hello, World!";String str2 = "Hello, World!";String str3 = new String("Hello, World!");String str4 = new String("Hello, World!");System.out.println(str1 == str2); System.out.println(str1 == str3); System.out.print..