Programming languages/Java 11

접근 제어자

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

자바 중첩 클래스란?

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

변수 (Variables)

🧠 Java 변수 완전 정복!"변수는 데이터를 담는 그릇이다" 🍽️📌 변수(Variable)란?하나의 데이터를 저장할 수 있는 공간자바에서 변수는 선언 위치에 따라 역할, 생명주기, 메모리 위치가 달라져요.그 차이를 제대로 이해하는 건 객체지향 프로그래밍의 첫걸음이죠! 🚀🧾 변수 이름 규칙문자 / _ / $로 시작 가능 (숫자 시작 ❌)길이 제한 없음대소문자 구분유니코드 문자 사용 가능 (한글도 가능)public class Variables { int a = 1; int _a = 1; int $a = 1; final int A = 1; int 한글가능 = 1; }🔍 변수의 종류자바 변수는 선언 위치에 따라 크게 3가지로 나..

OOP(Object-Oriented-Programming) - 객체 지향 프로그래밍

🧸 객체(Object)란 무엇인가요?🍎 현실 속의 객체부터 생각해볼까요?자, 주변을 둘러보세요.강아지 🐶, 자전거 🚲, 책상, 텔레비전 📺... 모두 '객체(Object)'예요.이런 객체들은 공통된 두 가지 특성을 가지고 있어요.🔸 상태(State) : 객체가 어떤 정보를 가지고 있는가 → 예: 강아지의 이름, 색깔, 품종, 배고픔 정도🔸 행동(Behavior) : 객체가 할 수 있는 동작 → 예: 짖기, 물건 물어오기, 꼬리 흔들기예를 들어 자전거라면?상태: 기어 상태, 속도, 페달 회전수행동: 기어 변경하기, 속도 줄이기, 브레이크 밟기👉 객체는 "무언가를 가지고" 있고, "무언가를 할 수 있는" 것!이게 바로 객체 지향 프로그래밍의 시작이에요 🎯💡 소프트웨어 객체도 현실..

Java의 Expression vs Statement

🌟 Java의 Expression vs Statemen자바(Java)에서 Expression(표현식)과 Statement(문장)는 프로그램의 기본 구성 요소로, 서로 다른 역할과 성격을 가지고 있습니다. 이 두 개념을 명확히 구분하면 코드의 이해도와 작성 능력이 크게 향상됩니다.🧩 1. Expression이란?💡 하나의 값으로 평가되는 코드 조각!Expression은 단일 값을 생성하는 코드 단위입니다. 변수, 연산자, 메서드 호출 등이 expression을 이룰 수 있으며, 다른 expression의 일부로 중첩될 수도 있습니다.✅ Expression 예시5 → 숫자 리터럴x + y → 변수 간 연산methodCall() → 메서드 호출true → boolean 리터럴Math.sqrt(a * a ..

Java 대입 연산자 '=' 기준 RHS, LHS

🎯 Java 대입 연산자 '=' 기준 RHS, LHS✅ 왼쪽 (LHS(Left-hand-side): 값을 저장하는 쪽)올 수 있는 것예시설명변수명int x = 10;기본 변수에 값 저장배열 요소arr[0] = 5;배열 특정 위치에 저장객체의 필드user.name = "Hera";객체의 속성에 값 저장참조 변수Person p = new Person();객체 주소 저장 (참조형 변수)❌ 올 수 없는 것 (컴파일 에러)잘못된 예시설명10 = x;리터럴은 저장할 수 없는 값 (고정값)(a + b) = 5;연산 결과는 메모리 공간이 아님getValue() = 3;메서드는 값을 반환할 뿐 저장 공간 아님✅ 오른쪽 (RHS(Right-hand-side): 값을 계산하거나 넘겨주는 쪽)올 수 있는 것예시설명리터럴in..