자바(Java) 5

equals() & hashcod() 완벽 정리

Java equals() & hashCode() 완벽 정리1️⃣ Object.equals() 기본 동작자바에서 모든 클래스는 Object를 상속받습니다. Object 클래스에 있는 equals() 기본 구현은 다음과 같습니다:public boolean equals(Object obj) { return (this == obj);}즉, 기본 equals()는 두 객체의 참조값(주소)이 같은지만 비교합니다.예제:String a = new String("hello");String b = new String("hello");System.out.println(a == b); // false, 서로 다른 객체System.out.println(a.equals(b)); // true, String 클래스에..

자바(Java) 2025.10.31

추상 클래스(Abstract Class) 완벽 정리

💡 추상 클래스(Abstract Class)자바에서 추상 클래스(Abstract Class)는 객체 지향 프로그래밍에서 매우 중요한 개념 중 하나입니다. 공통된 특성을 묶어 상속 구조를 설계할 때, "반드시 오버라이딩해야 하는 메서드"를 명확하게 지정할 수 있도록 도와줍니다.📌 추상 메서드 (Abstract Method)자식 클래스에서 반드시 오버라이딩(재정의)해야 하는 메서드입니다.선언만 있고, 구현(메서드 몸통)이 없습니다.abstract 키워드를 사용합니다.abstract void print();📌 추상 클래스 (Abstract Class)하나 이상의 추상 메서드를 포함한 클래스입니다.객체를 직접 생성할 수 없습니다.공통된 속성이나 기능을 정의하고, 구체적인 구현은 자식 클래스가 담당합니다./..

자바(Java) 2025.10.14

다형성 & instanceof 완벽 정리

1️⃣ 다형성이란?다형성(Polymorphism)이란하나의 객체가 여러 타입을 가질 수 있는 성질을 의미한다.자바에서는 부모 클래스 타입의 참조 변수로 자식 클래스의 인스턴스를 참조할 수 있다.즉, 부모 타입으로 자식 객체를 다룰 수 있는 것이다.Person p2 = new Student(); // ✅ 가능Student s2 = new Person(); // ❌ 불가능 (역방향 불가)2️⃣ 다형성의 특징참조 가능한 방향성: 부모 → 자식 (O), 자식 → 부모 (X)부모 클래스 타입의 참조 변수로 자식 인스턴스 참조 가능자식 클래스끼리는 형변환 불가능3️⃣ 다형성 예제class Person { public void print() { System.out.println("Person.p..

자바(Java) 2025.10.14

상속 (Inheritance) 완벽 정리

객체지향 프로그래밍(OOP)의 핵심 개념 중 하나가 바로 **상속(Inheritance)**입니다.상속을 잘 이해하면 코드 재사용성이 높아지고, 유지보수가 훨씬 쉬워집니다. 🌱 상속이란?**상속(Inheritance)**은 기존 클래스를 기반으로 새로운 클래스를 만드는 기능입니다.즉, 부모 클래스의 속성과 기능(필드와 메소드)을 물려받아 재사용하고,필요한 부분만 **추가하거나 수정(재정의)**할 수 있습니다. ✅ 기본 개념용어설명부모 클래스 (Super Class)상속의 대상이 되는 기존 클래스자식 클래스 (Sub Class)부모 클래스를 상속받는 새로운 클래스자식 클래스는 부모 클래스의 필드와 메소드를 물려받지만,생성자와 초기화 블록은 상속되지 않습니다. 🧱 상속의 기본 문법class 부모클래스 {..

자바(Java) 2025.10.13

클래스와 객체 완벽 정리

1. 클래스(Class)와 객체(Object)클래스 : 객체를 만들기 위한 설계도.비유: 붕어빵 틀객체의 속성(멤버변수)과 기능(메서드)을 정의객체 : 클래스라는 틀을 바탕으로 만들어진 실체비유: 실제 붕어빵속성과 기능을 실제로 가지고 있음속성(Attribute) : 객체의 고유한 특성 → 멤버변수기능(Method) : 객체가 수행할 수 있는 행동 → 메서드생성자(Constructor) : 객체를 생성할 때 호출되어 초기화를 담public class Person { String name; // 속성 int age; // 속성 // 생성자 public Person(String name, int age) { this.name = name; this.age..

자바(Java) 2025.10.02