| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- junit
- html
- Visual Studio Code
- math
- Eclipse
- 배열
- js
- ArrayList
- HashMap
- Java
- IntelliJ
- SpringBoot
- 자바
- Array
- 인텔리제이
- CSS
- junit5
- 자바스크립트
- 테스트자동화
- 스프링부트
- list
- string
- 자바문법
- vscode
- 문자열
- javascript
- input
- java테스트
- 정규식
- 단위테스트
- Today
- Total
목록2025/12 (49)
어제 오늘 내일
Java에서 다형성(Polymorphism)은 객체지향 프로그래밍(OOP)의 핵심 개념 중 하나로,같은 타입(부모 타입)으로 다양한 형태(자식 객체)를 다룰 수 있는 능력을 말합니다.즉, 하나의 타입이 여러 동작을 수행할 수 있도록 만드는 강력한 기능입니다.1. 다형성이란?다형성은 여러 형태를 갖는다라는 의미로, Java에서는 다음과 같은 상황에서 나타납니다:부모 타입 변수로 자식 객체를 참조할 수 있다오버라이딩된 메서드는 실제 객체 타입 기준으로 실행된다형식:부모클래스 변수 = new 자식클래스();예:Animal a = new Dog();Animal b = new Cat();설명같은 Animal 타입이지만, 실제 객체는 Dog 또는 Cat실제 객체 타입에 따라 동작이 달라짐 2. 다형성의 핵심: 오버..
Java에서 this 키워드는 현재 객체(instance) 를 가리키는 참조입니다.클래스 내부에서 객체 자신의 변수, 메서드, 생성자를 명확하게 구분하거나 호출할 때 사용됩니다.this는 객체지향 프로그래밍에서 매우 중요한 개념이므로 정확히 이해하는 것이 좋습니다. 1. this로 멤버 변수와 지역 변수 구분하기메서드나 생성자 안에서 매개변수 이름과 멤버 변수 이름이 같을 때, 구분하기 위해 this를 사용합니다.예제class Person { String name; Person(String name) { this.name = name; // this.name = 멤버 변수, name = 매개변수 }}설명this.name → 객체의 멤버 변수name → 생성자의 매개변수동일한 ..
Java에서 static 키워드는 클래스 수준에서 공유되는 멤버를 정의할 때 사용됩니다.static 변수와 static 메서드는 모두 객체가 아닌 클래스 자체에 소속되지만, 두 개념은 용도와 동작 방식에서 차이가 있습니다.이 글에서는 static 변수와 static 메서드의 차이를 명확하게 정리합니다. 1. static 변수 (클래스 변수)static 변수가 선언되면, 해당 변수는 모든 객체가 공유하는 하나의 값만 존재합니다.클래스가 메모리에 로드될 때 단 한 번 생성됩니다.예제class Counter { static int count = 0; // static 변수 int id; Counter() { count++; id = count; }}사용:Coun..
Java에서 final 키워드는 더 이상 변경할 수 없도록 제한하는 역할을 합니다.final은 변수, 메서드, 클래스에 모두 적용할 수 있으며, 적용 대상에 따라 의미가 달라집니다.이 글에서는 각각의 의미와 활용 예제를 쉽게 정리합니다. 1. final 변수 — 값 변경 불가final이 변수에 붙으면 값을 한 번만 설정할 수 있고 이후 변경할 수 없습니다.1-1. 기본 예final int age = 20;// age = 30; // ❌ 오류: final 변수는 값 변경 불가1-2. 초기화는 반드시 한 번만final String name;name = "Tom"; // ✔ 최초 1회 설정 가능// name = "Alice"; // ❌ 다시 변경 불가1-3. final 참조 변수참조 변수(객체)에 fina..
Java에서 추상 클래스(abstract class)와 인터페이스(interface)는 모두 "규칙을 정의하고 자식 클래스가 구현하도록 만드는 기능"을 하지만, 목적과 사용 방식, 설계 개념에서는 분명한 차이가 있습니다.이 글에서는 두 개념의 차이를 명확히 이해할 수 있도록 구조와 예제를 중심으로 정리합니다. 1. 공통점추상 클래스와 인터페이스 모두:객체 생성 불가미완성 메서드(추상 메서드)를 포함할 수 있음자식 클래스가 반드시 구현해야 하는 기능을 정의다형성을 지원하지만, 실제 설계 시 선택 기준은 둘의 차이점에서 결정됩니다. 2. 추상 클래스란?abstract 키워드로 선언하며, 상속을 통해 공통 기능 + 확장 가능한 구조를 제공하는 클래스입니다.특징일반 메서드 + 추상 메서드 모두 포함 가능객체 생..
Java에서 추상클래스(abstract class)는 객체를 직접 생성할 수 없고, 상속을 통해서만 사용되는 클래스입니다.완성되지 않은 메서드(추상 메서드)를 포함할 수 있으며, 공통 기능은 제공하되 세부 동작은 자식 클래스가 구현하도록 강제하는 역할을 합니다. 1. 추상클래스의 기본 개념추상클래스는 abstract 키워드를 사용하여 선언합니다.특징객체 생성 불가추상 메서드 포함 가능(선언만 있고 구현 없음)일반 메서드(구현된 메서드)도 포함 가능공통적인 속성과 동작을 정의하는 데 사용형식:abstract class Animal { abstract void sound(); // 추상 메서드}설명sound()는 구현이 없으므로 자식 클래스가 반드시 구현해야 함 2. 추상클래스 사용 목적여러 클래스가 ..
Java에서 interface(인터페이스)는 클래스를 설계할 때 규칙(기능의 명세)을 정의하는 역할을 합니다.인터페이스는 객체가 “무엇을 할 수 있는지”를 정의하며, 실제 구현은 이를 구현(implements)한 클래스가 담당하게 됩니다.인터페이스는 다형성과 유연한 구조 설계에 핵심적으로 사용됩니다. 1. interface란?인터페이스는 추상 메서드들의 집합으로 볼 수 있습니다.(단, Java 8 이후에는 default 메서드와 static 메서드도 포함 가능)특징생성자 없음객체 생성 불가모든 메서드는 기본적으로 추상(abstract)다중 구현(implements)이 가능클래스가 수행해야 할 기능을 명확히 강제형식:interface 인터페이스명 { // 추상 메서드 void method();}..
Java에서 특정 객체가 어떤 클래스의 인스턴스인지 확인할 때 사용하는 키워드가 instanceof입니다.상속 관계에서 객체의 실제 타입을 구분하거나, 다운캐스팅을 하기 전에 안전성을 확보하기 위해 매우 자주 사용됩니다. 1. instanceof의 기본 사용법형식:객체 instanceof 클래스명결과true → 해당 클래스 타입이거나 그 자식 타입false → 해당 타입이 아님예:String s = "Hello";boolean check = s instanceof String; // true 2. 상속 관계에서의 instanceof자식 객체를 부모 타입 변수로 담고 있는 경우, 실제 객체가 어떤 타입인지 확인할 때 사용합니다.class Animal { }class Dog extends Animal { }..
Java에서 클래스 간의 형변환은 상속 관계가 있을 때만 가능합니다.상속 관계에서는 부모 타입과 자식 타입 사이에서 자유롭게 변환이 가능하며, 이를 업캐스팅(Upcasting)과 다운캐스팅(Downcasting)이라고 부릅니다.이 글에서는 두 개념의 차이와 사용법을 예제 중심으로 정리합니다. 1. 업캐스팅(Upcasting)자식 타입 → 부모 타입으로 변환하는 것업캐스팅은 가장 기본적인 형변환이며 자동 형변환됩니다.class Parent { void hello() { System.out.println("Parent hello"); }}class Child extends Parent { void bye() { System.out.println("Child bye")..
Java에서 자식 클래스 호출이라는 표현은 보통 다음 두 가지 상황을 의미합니다:자식 클래스 객체를 생성하여 사용하는 것부모 타입으로 자식 객체를 다루는 것(다형성)이 글에서는 자식 클래스를 어떻게 호출하고 사용하는지 예제 중심으로 정리합니다. 1. 자식 클래스 객체 생성(일반 호출)자식 클래스는 부모 클래스를 상속받아 만들어집니다.따라서 자식 객체를 만들면 부모의 기능도 함께 사용할 수 있습니다.예:class Parent { void hello() { System.out.println("부모 hello"); }}class Child extends Parent { void bye() { System.out.println("자식 bye"); }}public c..