분류 전체보기 19

무한 루프(Infinite Loop)의 위험성

🌀 무한 반복문, 진짜 괜찮은 걸까?"while(true) 뭐 어때요, 그냥 계속 돌리면 되는 거 아닌가요?"단순히 계속 반복한다는 건 쉽지만,컴퓨터 입장에서는 어마어마한 자원 소모가 될 수 있어요!지금부터 무한 루프의 위험성과 똑똑한 사용법을 함께 정리해볼게요 😊⚠️ 무한 루프가 시스템에 미치는 영향🧨 항목💬 설명🧠 CPU 폭주조건 없이 계속 반복되면 CPU가 100%를 향해 달립니다. 다른 작업은 버벅이고, 팬이 미친 듯이 돌아가요.📉 메모리 누수반복문 안에서 객체를 계속 만들거나 리스트에 값을 추가하면, GC가 처리할 틈도 없이 메모리가 가득 찹니다. 결국 OutOfMemoryError가 터질 수도!🧨 앱/시스템 멈춤UI가 무한 루프에 묶이면? 사용자는 아무것도 못합니다. 입력도 클릭도..

접근 제어자

🔐 자바 접근 제어자“클래스, 변수, 메서드... 누가 어디까지 접근할 수 있는 거지?”자바에서는 접근 제어자를 통해 이 모든 걸 컨트롤할 수 있어요!지금부터 한눈에 + 쉽게 정리해드릴게요 ✨🤷 접근 제어자란?접근 제어자는 클래스나 클래스 멤버(필드, 메서드 등)에“누가 접근할 수 있는가?” 를 정해주는 보안등급 같은 거예요.🚪 문을 여는 열쇠라고 생각하면 돼요!공개할 건 공개하고, 감출 건 감추는 게 객체지향의 기본이니까요 💡🛡️ 접근 제어자의 종류접근 제어자접근 가능 범위private같은 클래스 내부 에서만 접근 가능(default)같은 패키지 에서 접근 가능 (별도 키워드 없이 선언된 경우)protected같은 패키지 + 상속 관계의 다른 패키지 클래스 에서 접근 가능public어디서든 접..

자료구조 - 스택(Stack)

🎁 스택(Stack) 완전 정복"책을 한 권씩 쌓았다가, 위에서부터 하나씩 꺼내본 적 있죠?"스택은 바로 그런 구조예요.📌 스택이란?스택(Stack)은 데이터를 한쪽 방향으로만 넣고 꺼내는선형 자료구조(linear data structure) 입니다. 가장 마지막에 넣은 데이터가 가장 먼저 나오는 구조🔁 LIFO 구조용어뜻LIFOLast In, First Out – 나중에 들어온 게 먼저 나감🎯 이렇게 생각하면 쉬워요🥔 프링글스 통👀 프링글스 과자 아시나요? 원통 모양의 뚜껑이 있는 통이랍니다 🥫과자는 한 방향(위에서)으로만 꺼낼 수 있어요가장 나중에 넣은 과자가 제일 먼저 나와요통 아래에 있는 과자를 꺼내려면? 👉 윗 과자들을 먼저 다 먹어야 해요!🍟 그래서 프링글스는 스택이에요:..

자료구조 2025.04.17

BOM이 뭔가요?

🧠 BOM은 뭐죠?BOM은 _Byte Order Mark_의 줄임말이에요.📎 "이 파일은 어떤 인코딩이고, 바이트는 이렇게 읽어주세요!"라고 맨 앞에 붙어있는 작은 쪽지입니다.📦 BOM이 왜 필요할까요?예: 문자 'A'를 2바이트로 저장해야 할 때UTF-16에선 'A'가 00 41로 저장되기도 하고반대로 41 00일 수도 있어요!✅ 순서를 바꾸면 다른 문자로 잘못 읽힐 수 있죠.그래서 이때 “나는 Big Endian이에요!” 또는“Little Endian이에요!” 라고 말해주는 게 바로 BOM이에요.🔍 BOM, 직접 보면 이렇게 생겼어요인코딩BOM 값 (Hex)의미UTF-8 with BOMEF BB BF굳이 말하자면 “나 UTF-8이야~”UTF-16 BEFE FF큰 바이트가 먼저UTF-16 LEF..

데이터 인코딩 2025.04.15

자바 중첩 클래스란?

🎁 자바 중첩 클래스 완전 정복!!"클래스 안에 또 클래스가 있어요?"네, 맞습니다! 자바에서는 클래스 안에 또 다른 클래스를 선언할 수 있습니다.이런 걸 중첩 클래스(Nested Class) 라고 불러요!🧩 중첩 클래스의 분류자바에서는 클래스 안에 또 다른 클래스를 정의할 수 있어요.이런 구조를 중첩 클래스(Nested Class) 라고 부릅니다.👀중첩 클래스는 크게 두 가지로 나뉘어요구분설명Static 중첩 클래스static 키워드로 선언된 클래스. 외부 클래스의 인스턴스 없이 사용 가능Non-static 중첩 클래스 (Inner Class)외부 클래스의 인스턴스와 함께 사용되는 클래스 (비정적 클래스)👇🏼👇그리고 Inner Class 안에는 아래와 같은 세 가지 종류가 있어요👇🏻👇I..

슈퍼클래스 & 서브클래스 (자바 초보자도 3분 컷!)

🌟 슈퍼클래스 & 서브클래스란?💬 자바 공부하다 보면 꼭 마주치는 말!"슈퍼클래스", "서브클래스" 어렵게 느껴지셨나요?지금부터 아주 쉽게, 예쁘게! 설명해드릴게요 😊👪 슈퍼클래스는 부모, 서브클래스는 자식이에요객체지향 프로그래밍(OOP)에서는클래스 간에 "상속"이라는 관계를 맺을 수 있어요.용어의미👴 슈퍼클래스부모 클래스 (기능을 "물려주는" 클래스)👶 서브클래스자식 클래스 (기능을 "물려받는" 클래스)📦 부모의 기능을 그대로 가져와서,✨ 자식 클래스만의 개성도 더할 수 있는 게 상속이에요!🚲 자전거 클래스로 예시 보기// 🚗 부모 클래스: 탈것(Vehicle)public class Vehicle { int speed; void accelerate() { spee..

자바의 `this` & `super`

🌟 this 와 super 완전 정복이름도 비슷하고 헷갈리는 이 둘!하지만 알고 보면 각자의 역할이 분명한 핵심 키워드랍니다 😎지금부터 아주 쉽게, 차근차근 설명드릴게요 💡☝🏻 this 란?현재 객체 자신을 참조하는 키워드예요. 클래스 내부에서 쓰일 수 있는 숨겨진 참조 변수라고 생각하시면 됩니다.✅ 언제 사용할까요?지역변수와 멤버변수의 이름이 같을 때 구분하려고!자기 자신을 가리키는 참조가 필요할 때✏️ 예제public class Book { String title; public void setTitle(String title) { this.title = title; }}구분설명this.title멤버 변수 (클래스에 선언된 변수)title (오른쪽)매개변수 (메서드..

자바 생성자(Constructor)

📚 자바 생성자(Constructor) 완.전.정.복!생성자라는 말, 처음 들었을 땐 낯설고 어렵게 느껴지셨죠?하지만 알고 보면, 우리가 클래스를 사용할 때처음 인사하는 문 같은 존재랍니다.이번 글에서 생성자의 모든 걸 쉽고 예쁘게 정리해드릴게요 😊✨ 생성자란?자바에서 객체를 생성할 때 자동으로 호출되는 메서드 입니다.객체가 태어날 때 어떤 값을 가질지 정해주는 초기화 도구 예요!일반 메서드처럼 생겼지만, 리턴 타입이 없고 이름은 클래스명과 동일 해야 해요.💬 정리하자면,"객체가 만들어질 때 실행되는 특별한 메서드!" 라고 기억하시면 됩니다.🛠 생성자의 2가지 필수 규칙1️⃣ 클래스 이름과 완전히 같아야 한다2️⃣ 리턴 타입이 없어야 한다 (void도 금지!)📢 컴파일러는 리턴 타입이 보이면 “..

Java 변수 퀴즈

☕ Java 변수 퀴즈 & 실습 풀이 정리📚 출처: 자바 공식 문서 / Variables자바 변수 개념을 확인할 수 있는 공식 퀴즈와 실습 예제를 직접 풀어보며 개념 정리했습니다!✅ Questions & Answers질문 번호질문 내용나의 답정답1The term "instance variable" is another name for?non-static field✅ non-static field2The term "class variable" is another name for?static field✅ static field3A local variable stores temporary state; it is declared inside a?braces ❌✅ method4A variable declared ..

Java의 모든 연산자

✨ 자바 연산자 완전 정리 (Java Operators)자바(Java)에서 변수 선언과 초기화를 배웠다면, 이제는 변수를 어떻게 다루는지 아는 것이 중요하죠. 그 핵심이 바로 연산자(Operator) 입니다!🔧 연산자란?연산자란 특정 작업을 수행하는 기호 또는 기법으로, 하나 이상의 피연산자(operand)를 계산하여 결과를 반환합니다.🧠 연산자 우선순위 한눈에 보기우선순위연산자 종류예시1Postfixa++, a--2Unary++a, --a, +a, -a, ~, !3Multiplicative*, /, %4Additive+, -5Shift>, >>>6Relational, =, instanceof7Equality==, !=8Bitwise AND&9Bitwise XOR^10Bitwise OR|11Logic..