🧱 포함 관계(Composition)
·
Java
✍️ 시작하며이전 글에서는 객체지향 프로그래밍의 핵심 개념 중 하나인 상속(Inheritance) 을 통해기존 클래스를 확장하는 방법과 메서드 오버라이딩에 대해 알아보았습니다.이번 글에서는 클래스 간의 관계 중 하나인 포함 관계(Composition) 를 학습해보겠습니다.포함 관계는 객체가 다른 객체를 "포함(has-a)" 하는 구조로,자동차가 엔진을 가지듯, 집이 여러 방을 가지듯 객체 간 구성 관계를 표현할 때 사용됩니다.💡 학습 목표포함 관계(Composition)의 개념과 의미를 이해한다."has-a" 관계와 "is-a" 관계를 비교할 수 있다.포함 관계를 실제 코드로 구현하는 방법을 익힌다.컴포지션의 생명주기 및 UML 표기법을 이해한다.🧠 개념 정리🔸 포함 관계(Composition)란?..
🧱 상속(Inheritance)이란?
·
Java
✍️ 시작하며이전 글에서는 같은 이름으로 다양한 매개변수를 처리하는 메서드 오버로딩(Overloading) 개념을 배웠습니다.이번 글에서는 객체지향 프로그래밍에서 가장 핵심적인 원칙 중 하나인 상속(Inheritance) 에 대해 알아보겠습니다.상속은 기존 클래스를 확장하여 재사용할 수 있도록 도와주는 기능으로, 실제 현업 코드에서도 매우 많이 활용됩니다.💡 학습 목표상속의 개념과 역할을 이해한다.extends 키워드를 사용한 클래스 확장을 학습한다.메서드 오버라이딩(Overriding)의 개념과 적용 방법을 익힌다.상속을 활용한 클래스 다이어그램 구조와 코드를 이해한다.🧠 개념 정리🔸 상속(Inheritance)이란?상속은 기존 클래스를 기반으로 새로운 클래스를 정의하는 방식입니다.상속을 사용하면..
🧱 메서드 오버로딩이란?
·
Java
✍️ 시작하며이전 글에서는 클래스와 메서드를 정의하는 방법을 살펴보았습니다.이번 글에서는 자바에서 같은 이름의 메서드를 다양한 방식으로 정의할 수 있는 기술,바로 **메서드 오버로딩(Method Overloading)**에 대해 배워보겠습니다.이 개념은 일상적으로 자주 쓰이며, 특히 실무에서 같은 기능을 다양한 방식으로 처리할 때 매우 유용합니다.실제 예제로는 Calculator 클래스와 함께, 스타크래프트 유닛 전투를 코드로 설계한 예시도 함께 소개합니다.💡 학습 목표메서드 오버로딩의 개념과 조건을 이해한다.오버로딩이 언제 유용한지 파악한다.실전 코드(Calculator, StarCraft 유닛)로 오버로딩을 익힌다.오버라이딩과 차이를 구분할 수 있다.🧠 개념 정리🔸 메서드 오버로딩(Method ..
🧱 배열 복습하기 - 도서 관리 프로그램 (CRUD 실습)
·
Java
✍️ 시작하며지난 시간에는 자바의 기본 자료구조 중 하나인 **배열(Array)**에 대해 배웠습니다.이번 글에서는 배열을 활용해 도서 데이터를 관리하는 간단한 콘솔 프로그램을 만들어 보겠습니다.이를 통해 프로그래밍의 가장 기본이 되는 개념 중 하나인 CRUD도 자연스럽게 복습할 수 있습니다.✅ CRUD란?CRUD는 데이터 처리의 기본적인 네 가지 동작을 의미합니다.C: Create (생성)R: Read (조회)U: Update (수정)D: Delete (삭제)이 개념은 웹, 앱, DB 등 모든 프로그래밍 영역에서 반복적으로 사용됩니다.이번 실습에서는 배열과 클래스를 활용해 이 동작들을 직접 구현해볼 거예요.💡학습 목표배열을 이용한 도서 목록 관리 시스템 구현자바의 객체 배열과 null 체크를 통한 방..
🧱 Array(배열)에 대한 이해
·
Java
💬 시작하며이번 글에서는 자바의 기본 자료구조 중 가장 핵심인배열(Array) 에 대해 자세히 배워봅니다.지난 글에서는 static 키워드를 통해 클래스 수준의 공유 데이터를 다뤘다면,이번에는 다수의 데이터를 효율적으로 저장하고 관리하기 위한배열의 개념과 사용 방법을 실습 중심으로 정리합니다.💡 학습 목표배열의 개념과 선언, 초기화 방법을 이해한다.반복문과 함께 배열을 효율적으로 사용하는 방법을 익힌다.문자(char), 문자열(String), 정수형(int), 실수형(double) 배열을 활용해본다.배열 인덱스와 길이 차이를 이해한다.1️⃣ 배열이란?같은 타입의 데이터를 연속된 메모리 공간에 저장하는 자료구조입니다.자바에서 배열은 객체로 간주되며, 크기가 고정되어 있고 인덱스를 통해 요소에 접근합니다..
🧱 static 키워드에 대한 이해
·
Java
💬 시작하며지금까지 우리는 객체 지향 프로그래밍에서 클래스와 인스턴스를 중심으로 학습을 진행해왔습니다.하지만 어떤 경우에는 객체마다 값이 달라질 필요 없이, 모든 객체가 공유하는 값이 필요한 상황도 있습니다.이번 글에서는 그런 역할을 수행하는 static 키워드에 대해 알아보고,어디에 쓰이고 왜 중요한지 예제를 통해 배워보겠습니다.💡 학습 목표static 키워드의 의미와 역할을 이해한다static 변수와 static 메서드의 차이를 배운다static이 메모리에서 어떻게 관리되는지 개념을 익힌다실제 예제를 통해 클래스 변수의 사용법을 익힌다1️⃣ static이란?static 키워드는 "고정된"이라는 뜻을 가지고 있으며,자바에서는 **클래스에 고정된 멤버(변수나 메서드)**를 의미합니다.✅ static ..
🧱 this 3가지 사용 방법
·
Java
💬 시작하며지난 글에서는 **접근 제어 지시자(Access Modifier)**에 대해 배웠습니다.변수와 메서드의 접근 범위를 설정해 코드의 안정성과 보안성을 높였죠.이번 글에서는✔️ this 키워드의 개념,✔️ this의 3가지 주요 사용 방법,✔️ 코드 예제를 통해 this에 대해 확실히 이해해보겠습니다.💡 학습 목표this 키워드의 3가지 사용 방법을 이해한다생성자에서 this()를 활용하는 방법을 익힌다객체 자신의 주소를 반환하거나 사용하는 상황을 학습한다1️⃣ this란?this는 클래스 내부에서 인스턴스(객체) 자신을 가리키는 키워드입니다.주로 다음 세 가지 상황에서 사용됩니다.구분설명1인스턴스(객체) 자신의 메모리를 가리킬 때2생성자 내부에서 또 다른 생성자를 호출할 때3자신의 주소(참조..
🧱 접근 제어 지시자(Access Modifier)
·
Java
💬 시작하며지난 글에서는 함수, 메서드, 생성자의 차이를 복습했습니다.이번 글에서는 **접근 제어 지시자(Access Modifier)**를 배워보겠습니다.접근 제어 지시자는 클래스나 멤버 변수, 메서드에 접근할 수 있는 범위를 결정하는 중요한 문법입니다.객체지향 설계에서 아주 기본적이지만 꼭 필요한 개념입니다.💡 학습 목표접근 제어 지시자의 종류와 특징을 이해한다각 접근 제어 지시자의 사용 방법을 익힌다캡슐화(정보은닉)를 위한 설계 방법을 배운다1️⃣ 접근 제어 지시자란?클래스, 변수, 메서드에 대해 "누가 어디까지 접근할 수 있는지"를 설명하는 키워드입니다.📌 주요 접근 제어 지시자지시자접근 범위 설명public어디서나 접근 가능default같은 패키지 내에서만 접근 가능private해당 클래스..