java 10

추상 클래스(Abstract Class)

🧱 자바 추상 클래스 정리자바에서 추상 클래스는 말 그대로 미완성 클래스입니다.완전히 구현되지 않은 추상 메서드를 포함하고 있으며,직접 객체 생성은 불가능하고, 상속을 통해 완성해야 사용할 수 있어요.📌 추상 클래스란?추상 클래스는 공통된 특징을 묶어낸 설계도입니다.abstract class Animal { abstract void sound(); // 추상 메서드}abstract 키워드를 붙이면 클래스나 메서드를 추상으로 만들 수 있어요.추상 메서드는 선언만 존재하고, 내용(구현부)은 없음추상 클래스는 직접 new로 인스턴스 생성할 수 없습니다.🧠 추상화, 구체화 개념 간단 요약용어의미추상여러 클래스에서 공통된 특징을 뽑아냄추상화공통 부분을 따로 떼어내서 조상 클래스로 만드는 작업구체화추상 ..

Programming/Java 2025.05.14

Java의 조건문

🌈 자바의 조건문🧭 자바의 제어 흐름이란?자바 프로그램은 기본적으로 위에서 아래로 순차적으로 실행됩니다.하지만! 때때로 프로그램은 특정 조건에 따라 분기하거나, 어떤 동작을 반복해야 하죠.이럴 때 사용하는 것이 바로 제어 흐름 문법입니다.✅ 1. if 문 – 조건이 맞으면 실행!가장 기본적인 조건문입니다.if (조건식) { // 조건이 true일 때 실행할 코드}📌 예제 1: 온도에 따라 행동 바꾸기int temp = 30;if (temp >= 28) { System.out.println("날씨가 덥네요! 에어컨을 켜요.");}👉 온도가 28도 이상이면 에어컨을 켜는 메시지를 출력합니다.⚠️ 괄호 {} 생략?if (temp >= 28) System.out.println("더워요!"..

Programming/Java 2025.05.01

StringBuilder Vs StringBuffer

🎯 StringBuilder & StringBuffer란?문자열을 수정 가능(mutable) 하게 만들어주는 자바 클래스입니다.String은 한 번 만들어지면 수정할 수 없지만,StringBuilder와 StringBuffer는 기존 문자열을 직접 수정할 수 있어요.🔥 String과 차이점은?📌 기본 개념 비교구분StringStringBuilder / StringBuffer변경 가능 여부❌ 불변 (immutable)✅ 가변 (mutable)메모리 사용새 객체 계속 생성기존 객체 수정성능수정 많으면 느림빠름 (수정에 최적화)✨ 쉽게 말하면String은 매번 새 종이에 새로 쓰는 느낌.StringBuilder/StringBuffer는 기존 종이에 고쳐 쓰는 느낌! 🏎️ StringBuilder..

Programming/Java 2025.04.29

접근 제어자

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

Programming/Java 2025.04.17

자바의 `this` & `super`

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

Programming/Java 2025.04.12

자바 생성자(Constructor)

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

Programming/Java 2025.04.11

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..

Programming/Java 2025.04.10

변수 섀도잉(Shadowing)

겉에 있는 줄 알았는데, 안에 또 있다?👇👇🏼👇🏻그래서 우리는 this를 써요🧠 변수 섀도잉이란?같은 이름의 변수가 중첩된 범위(scope)에 다시 선언되어 바깥 변수를 가리는 현상즉, 밖에 선언한 변수와 안쪽(함수나 블럭 등)에 선언한 변수 이름이 같을 때,가까운(안쪽) 변수가 우선시되어 바깥 변수는 "섀도잉" 당합니다.⁉️ 왜 섀도잉이 문제일까?문제 상황설명🤯 값이 잘못 들어감의도한 바깥 변수가 아니라 안쪽 지역 변수에 값이 들어감🧪 디버깅 어려움"값을 설정했는데 왜 적용이 안 되지?" 하는 상황 발생👀 가독성 저하같은 이름이 중복되면 읽는 사람도 혼란✨ 섀도잉 in 4개 언어 + 해결 방법 정리🟨 Java: this 키워드로 해결public class User { String..

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

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

Java설치하기 Mac(M1, M2), Window

Mac(M1/M2)과 Windows에서 Java를 설치하는 방법을 안내해드릴게요. 😊🍎 Mac (M1/M2) 기준 Java 설치1. 설치 여부 확인1️⃣ 터미널을 열고 아래 명령어 입력합니다.brew -v🔽 아래와 같이 버전이 뜨면 설치되어 있는 겁니다.$ brew -v Homebrew 4.4.26🙈 없다면 아래 명령어로 설치하세요./bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"homebrew를 검색하면 homebrew 홈페이지가 나옵니다. 링크 달아 놓겠습니다! 🔗 Homebrew 홈페이지✅❗️설치 후 터미널 재실행❗️✅2. Java 설치아래의 순서..

Programming/Java 2025.03.26