High Level Programming Language/Learning the Java Language(38)
-
POJO vs JavaBean
POJO(Plain Old Java Object)와 JavaBean은 모두 "순수한 자바 객체"를 의미하지만, 용도와 규칙, 그리고 프레임워크 친화성 측면에서 차이가 있습니다. 아래에서 두 개념을 명확히 비교해드리겠습니다. ✅ POJO vs JavaBean 비교 정리구분POJO (Plain Old Java Object)JavaBean정의아무런 제약 없이 작성된 순수 자바 객체특정 명명 규칙을 따르는 자바 객체필수 조건없음 (제약 거의 없음)1) public 디폴트 생성자2) private 필드3) getter/setter 메서드생성자어떤 생성자든 가능반드시 디폴트 생성자(no-arg constructor) 필요접근자필드 접근 방식 자유반드시 getter/setter로 필드 접근접근 제어자필드 public..
2025.04.23 -
JavaBean의 Property란?
자바빈(JavaBean)의 속성(Property)은 간단히 말해, private 필드와 그 필드를 읽고 쓰기 위한 public getter/setter 메서드로 구성된 객체의 상태 정보입니다. ✅ 1. 자바빈 속성의 정의속성(property)은 내부적으로 private 필드이며,외부에서는 해당 필드를 public 메서드(getter/setter)를 통해 접근합니다.즉, 속성은 다음과 같은 구성으로 정의됩니다:public class Person { private String name; // ← 속성 (Property) public String getName() { // getter return name; } public void setName(String name) {..
2025.04.23 -
자바의 오버라이딩과 공변 리턴 타입(Covariant Return Type) 완벽 가이드
🔁 자바의 오버라이딩과 공변 리턴 타입(Covariant Return Type) 완벽 가이드자바에서 메서드를 오버라이드할 때, 리턴 타입은 반드시 상위 클래스와 동일해야 할까요?정답은 아니오입니다. 자바 5부터는 공변 리턴 타입(Covariant Return Type)이라는 개념이 도입되어,"리턴 타입의 하위 타입"으로도 오버라이딩이 가능합니다. 이 글에서는 공변 리턴 타입의 개념과 예제, 그리고 주의사항까지 상세히 다뤄보겠습니다. 📌 1. 오버라이딩 기본 규칙 요약메서드를 오버라이드(Override)하려면 다음 조건을 충족해야 합니다:메서드 이름이 동일해야 함파라미터 개수와 타입이 동일해야 함리턴 타입도 동일해야 함 → 또는 공변 리턴 타입 사용 가능 🔍 2. 공변 리턴 타입(Covariant R..
2025.04.23 -
하위 클래스와 내부 클래스의 private 멤버 접근 이해하기
🧩 자바에서 private 멤버 접근: 상속과 내부 클래스의 관점자바의 캡슐화(Encapsulation) 개념은 객체지향 프로그래밍의 핵심 요소 중 하나입니다. 이 개념을 이해하기 위해선 private 키워드가 실제로 어떤 제한을 두는지 명확히 알아야 합니다.이번 글에서는 상속 구조에서 하위 클래스가 상위 클래스의 private 멤버에 접근할 수 있는가, 그리고 내부 클래스(inner class)에서는 어떻게 접근이 가능한가를 코드 예제와 함께 정리해보겠습니다. 📌 1. 하위 클래스는 상위 클래스의 private 멤버를 상속하지 않는다자바에서 private 멤버는 해당 클래스 내부에서만 접근 가능합니다. 하위 클래스에서는 직접 접근할 수 없습니다.class SuperClass { private ..
2025.04.23 -
Lesson: Object-Oriented Programming Concepts
객체 지향 프로그래밍 언어를 처음 사용하는 경우, 코드를 작성하기 전에 몇 가지 기본 개념을 배워야 합니다. 이번 수업에서는 객체, 클래스, 상속, 인터페이스 및 패키지에 대해 소개합니다. 각 논의는 이러한 개념이 현실 세계와 어떻게 관련되는지에 중점을 두고, 동시에 자바 프로그래밍 언어의 문법을 소개합니다. What is an Object?객체는 객체 지향 기술을 이해하는 데 핵심입니다. 지금 주위를 둘러보면 실세계의 객체에 대한 많은 예시를 찾을 수 있습니다: 당신의 개, 당신의 책상, 당신의 텔레비전 세트, 당신의 자전거. 현실세계의 객체들은 두 가지 특징을 공유합니다: 모두 상태[state]와 행동[behavior]을 가지고 있습니다. 개는 상태(이름, 색깔, 품종, 배고픔)를 가지고 있으며 행동..
2024.07.01 -
Lesson: Classes and Objects [Lambda, Enum]
Lambda Expressions익명 클래스의 한 가지 문제는 익명 클래스의 구현이 메서드가 하나만 포함된 인터페이스와 같이 매우 간단한 경우 익명 클래스의 신택스가 다루기 힘들고 명확하지 않게 보일 수 있다는 것입니다. 이러한 경우 일반적으로 누군가가 버튼을 클릭할 때 어떤 작업을 수행해야 하는지와 같은 기능을 다른 메서드에 아규먼트로 전달하려고 합니다. 람다 expression을 사용하면 특정 기능을 메서드 아규먼트로 처리하거나 코드를 데이터로 처리할 수 있습니다. 이전 섹션인 익명 클래스에서는 이름을 지정하지 않고 기본 클래스를 구현하는 방법을 보여줍니다. 이는 명명된 클래스보다 더 간결한 경우가 많지만 메서드가 하나만 있는 클래스의 경우 익명 클래스라도 다소 과도하고 번거로워 보입니다. 람다 ex..
2024.06.10