2025/06/04 7

자바 인터페이스 완전 정리 (초보도 이해하는 구조 중심 해설)

📘 자바 인터페이스 완전 정리 (초보도 이해하는 구조 중심 해설)💡 인터페이스란?자바에서 **인터페이스(Interface)**는 객체가 제공해야 할 **기능 명세(약속)**만 정의하는 특별한 타입입니다.**객체를 사용하는 쪽(개발 코드)**은 인터페이스만 알고 있으면 객체 내부 구조를 몰라도 사용할 수 있습니다.[개발 코드] → [인터페이스] → [구현 객체]🤔 왜 굳이 인터페이스를 써야 할까? 목적 설명결합도 낮춤내부 구현 변경해도 호출 코드는 수정할 필요 없음유연성 확보다양한 구현체를 인터페이스 하나로 제어 가능다형성 구현하나의 인터페이스로 다양한 결과 구현 가능🛠️ 예제 코드로 인터페이스 개념 익히기interface Speaker { void speak();}class KoreanSpe..

자바 2025.06.04

자바 추상 클래스 완전 정리

🌟 자바 추상 클래스 완전 정리 🌟공통 기능을 강제하고, 다형성을 실현하는 설계 도구!✅ 추상 클래스란?추상 클래스는 여러 클래스에 공통되는 필드나 메서드를 미리 선언해두는 일종의 설계 틀입니다.단독으로 객체를 만들 수 없고, 오직 상속받는 자식 클래스에서 구체적으로 완성해서 사용하는 용도입니다.📌 쉽게 말해, **"공통된 뼈대만 제공하고 직접 사용할 수는 없는 클래스"**입니다.✅ 추상 클래스 구조 예시abstract class Animal { String name; // 추상 메서드 - 내용 없이 선언만 abstract void sound(); // 일반 메서드 - 기본 동작 제공 void eat() { System.out.println("먹이를 먹습니다...

자바 2025.06.04

자바 타입 변환과 다형성 완전 정복

🌱 자바 타입 변환과 다형성 완전 정복자바에서는 기본 타입 변환 외에도, 클래스 간 타입 변환이 존재합니다. 특히 상속 관계에서의 변환은 객체지향의 핵심 개념인 다형성(Polymorphism)을 구현하는 데 필수적입니다.✅ 자동 타입 변환 (Upcasting)🧩 개념상속 관계에서 자식 객체를 부모 타입 변수에 저장하는 것을 자동 타입 변환이라고 합니다.Parent p = new Child(); // 자동 타입 변환자식은 부모의 모든 요소를 상속받기 때문에, 부모처럼 다룰 수 있는 것이죠.💡 주요 특징항목 설명변환 방향자식 → 부모코드 필요형변환 코드 불필요사용할 수 있는 멤버부모 클래스에 정의된 것만자식 고유 기능 사용불가 (강제 변환 필요)🧪 예제class Animal { void soun..

자바 2025.06.04

자바 상속(Inheritance)과 메소드 재정의 개념 정리

📘 자바 상속(Inheritance)과 메소드 재정의 개념 정리📌 상속이란?프로그래밍에서 상속은 기존 클래스를 바탕으로 새로운 클래스를 만드는 방식입니다. 부모 클래스의 기능을 자식 클래스가 물려받아, 코드의 재사용성과 유지 보수성을 높일 수 있습니다.class 자식클래스 extends 부모클래스 { // 필드, 생성자, 메소드 정의}예시:class SportsCar extends Car { // Car 클래스의 기능을 상속받음}✔ 상속의 주요 특징구분 설명단일 상속자바는 하나의 부모 클래스만 상속 가능 (extends 하나만)상속 제외 항목부모 클래스의 private 멤버는 상속되지 않음패키지가 다르면 default 접근자도 상속 제외됨📌 부모 생성자 호출 흐름객체 생성 시 부모 클래스..

자바 2025.06.04

자바에서 패키지와 접근 제어자 이해하기

자바에서 패키지와 접근 제어자 이해하기🔹 패키지란 무엇인가?자바 프로젝트에서는 수많은 클래스를 작성하게 되므로, 이들을 정리하는 폴더 개념이 필요합니다. 자바에서는 이 구조화를 위해 **패키지(package)**를 제공합니다.패키지는 단순한 폴더가 아니라, 클래스의 고유한 "이름공간(namespace)"을 형성합니다. 즉, 같은 이름의 클래스가 있더라도 패키지가 다르면 별개의 클래스로 취급됩니다.클래스의 전체 이름은 다음과 같이 구성됩니다:패키지명.클래스명com.example.service.UserService위 예제처럼 .(도트)를 기준으로 패키지를 계층적으로 구분합니다.🔸 패키지 선언 규칙자바 소스 파일의 최상단에는 이 클래스가 속한 패키지를 선언합니다.package com.myapp.util;패..

자바 2025.06.04

자바 클래스 멤버 정리: 인스턴스 vs 정적 멤버, 메모리 구조, 싱글톤, final 상수

📘 자바 클래스 멤버 정리: 인스턴스 vs 정적 멤버, 메모리 구조, 싱글톤, final 상수🧱 클래스 멤버의 종류자바 클래스에는 두 가지 종류의 멤버가 존재합니다:인스턴스 멤버: 객체가 생성될 때 함께 생성되는 멤버 (필드/메소드)정적 멤버 (static): 객체 없이도 사용할 수 있는 클래스 소속 멤버객체마다 고유한 데이터가 필요하다면 인스턴스 멤버를 사용하고, 모든 객체가 공유해야 하는 데이터는 정적 멤버로 선언합니다.🧠 메모리 구조 한눈에 보기구분 저장 위치 설명클래스 정보 (Class)메소드 영역클래스 이름, 메소드 정의, static 멤버 등인스턴스 필드힙(Heap) 영역객체마다 생성되는 고유 필드메소드 코드메소드 영역공유되는 코드, 객체마다 복사되지 않음메소드 실행 시 변수스택(Stac..

자바 2025.06.04

자바 메소드 완전 정리

✅ 자바 메소드 완전 정리1. 메소드란?자바에서 **메소드(method)**는 객체가 수행하는 기능(동작)을 정의한 코드 블록입니다. 특정 작업을 묶어 두고 이름을 붙여서 필요할 때마다 재사용할 수 있도록 만든 구조죠.📦 기본 구조리턴타입 메소드이름(매개변수들) { // 실행할 코드}예시:public int add(int x, int y) { return x + y;}2. 메소드 구성 요소구성 요소 설명리턴타입결과로 돌려줄 값의 타입 (int, String, void 등)메소드 이름수행하는 동작을 잘 설명하는 이름 (카멜표기법 권장)매개변수외부에서 넘겨받을 값들을 위한 변수실행 블록실제 동작이 구현된 코드 부분3. 리턴 타입과 return 문🎯 리턴 타입이란?메소드가 실행된 뒤 반환하는 값..

자바 2025.06.04