1%(5)
-
4. 자바 - 데이터 / . / [ ]
.(점)의 의미와 프로그래밍 기초 정리프로그래밍을 하다 보면 "."(점) 의 의미가 언어마다 다르게 사용됩니다. 오늘은 그 의미를 정리하면서, Java와 JavaScript의 차이도 함께 살펴보겠습니다! 🚀1. .(점)의 의미📌 C언어에서는?포인터 접근에 사용됨 📌 Java에서는?객체의 속성(변수)이나 메서드를 호출하는 데 사용됨 📌 JavaScript에서는?객체의 속성이나 메서드를 호출하는 데 사용됨 💡 공통점: .은 객체(혹은 구조체)의 내부 값을 접근할 때 사용됨!2. 변수의 범위(Scope)와 {}📌 Java에서 {} 만으로도 에러가 발생하지 않음!public class Main { public static void main(String[] args) { { ..
2025.03.27 -
3. Java - 패러다임 / 클래스(함수)
📌 [ 상식 ]💡 if else 문은 범위가 작은 것부터 사용💡 자바는 결과적으로 ByteCode를 만들어 낼 수만 있으면 문법이 어떻든 괜찮다. 이런 언어를 JVM언어라고 한다. 중요한 것은 자바는 문법적인 부분만 하지만 버츄얼머신기반의 언어가 되기에 생태계가 넓은거다. 사실, 이건 오라클이 소송을 걸었기에 이렇게 된 것ex) 코틀린, 스칼라, 그루비 등 📌 [ 프로그래밍 ]💡 데이터와 로직으로 나뉜다.💡 데이터와 로직을 어떻게 바라보느냐가 패러다임이다.예) 함수형 패러다임, 아스펙트 패러다임 등 💡 한국인과 아랍인의 시각 차이한국인은 오리가 먼저 보인다아랍인은 토끼가 먼저 보인다🔹 이유: 한국은 왼쪽 중심의 사회, 아랍은 오른쪽 중심의 사회➡ 패러다임은 관점의 차이를 의미한다.💡 자본..
2025.03.26 -
2. Java - 특징 / 인코딩 / 타입 및 데이터 [ 25 / 03 / 25 ]
[ 지식 ]Pull GC가 나타나게 되면서 서버가 다중화 되었다.그로인해 서버가 2중화 - 서버 증성 - 스위칭 ( LB : A, B, C 경로로 보낸다 ) [ 문자코드 ]- js, python 등등 node처럼 바로 실행이 되는 언어 코드를 짜서 프로그램에 던져주면 Line by Line 으로 '해석' 한다. 플랫폼 독립적 : 인터프린터 언어이며, 해석기만 존재하면 어디든 실행가능하다. [ 자바의 특징 ] Java -> ByteCode (Compile) -> 실행Java는 왜 ByteCode로 변환하여 실행할까?자바는 원래 속도가 느린 언어, 그로인해 ByteCode(Compile)로 변환하여 최적화를 한다.최적화, 속도, 플랫폼 독립적 (IDE를 사용하기에 크게 못느낀다) 결론적으로 자바는 컴파일,..
2025.03.25 -
JVM이 GC(Gavage Collection)을 통해 메모리를 회수하는 방법
🔹 GC를 통해 JVM이 객체를 관리하는 메모리 영역을 분석하여 더 이상 참조되지 않는 객체를 자동으로 정리하는 방식 [ JVM 메모리 구조 ]1. Heap 영역GC가 주로 수행되는 영역객체와 인스턴스 변수가 저장됨Young/Old Generation으로 나뉨2. Stack 영역GC의 대상이 아님 (메서드 실행이 끝나면 자동 정리)메서드 호출 시 생성되는 지역 변수 및 스레드별 실행 컨텍스트 저장3. Method(메타데이터) 영역클래스의 메타데이터, 정적 변수, 런타임 상수 풀이 저장됨Java 8부터는 Metaspace로 변경됨 [ Heap의 세대 구조 ]🔹 JVM의 GC는 객체의 생존 기간에 따라 Young/Old Generation으로 나뉜다. 1. Young Generation (Eden + S..
2025.03.24 -
1. Java란? [ 25 / 03 / 24 ]
🔹 개발에 앞서 코드는 크게 2가지 Statements(문) / Expression(식) 으로 나뉜다.✅ Statements : 메모리 구조✅ Expression : 결과 [ 자바의 특징 1 ] 🔹 플랫폼 독립적1. 문(Statements)으로 구조를 바탕으로 식(Expression)을 통해 실행 결과를 만들어낸다.2. 컴파일한다. ( 자기에게 맞는 구조로 변환 Java = JVM이 바이트 코드로 변환)3. 실행 ( Java가 실행될 수 있는 환경이면 된다 )그렇기에 자바는 '플랫폼 독립적'이다 - 바이트 코드 예시public static void main(String[] args) { int num1 = 10; int num2 = num1+10; System.out.print..
2025.03.24