| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 배열
- 정규식
- Eclipse
- math
- 문자열
- input
- 테스트자동화
- string
- Array
- 자바
- SpringBoot
- 단위테스트
- html
- ArrayList
- 스프링부트
- java테스트
- IntelliJ
- HashMap
- Java
- 인텔리제이
- CSS
- javascript
- junit
- Visual Studio Code
- junit5
- js
- 자바스크립트
- 자바문법
- vscode
- list
- Today
- Total
목록Java (283)
어제 오늘 내일
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..
Java에서 자식클래스는 객체가 생성될 때 반드시 부모클래스의 생성자를 먼저 호출합니다.이를 위해 사용하는 문법이 바로 super()입니다. 부모 생성자 호출은 상속 관계에서 객체가 올바르게 초기화되도록 만드는 중요한 과정입니다. 1. 부모 생성자 호출의 기본 개념자식클래스의 생성자가 실행되기 전에부모클래스의 생성자가 먼저 호출되어야 한다는 것이 Java의 규칙입니다.자식 생성자 안에서 명시적으로 부모 생성자를 호출하지 않더라도, Java는 자동으로 super()를 첫 줄에 삽입합니다.예:class Parent { Parent() { System.out.println("Parent 생성자"); }}class Child extends Parent { Child() { ..
Java의 객체지향 프로그래밍(OOP) 핵심 개념 중 두 가지가 상속(Inheritance)과 오버라이딩(Overriding)입니다. 두 개념은 서로 밀접하게 연결되어 있으며, 클래스 설계와 확장성을 높이는 데 중요한 역할을 합니다. 이 글에서는 두 개념을 명확하게 구분하고 이해할 수 있도록 정리합니다. 1. 상속(Inheritance)이란?상속은 부모클래스의 속성과 메서드를 자식클래스가 물려받는 것입니다.이때 extends 키워드를 사용합니다.예제class Animal { void sound() { System.out.println("동물이 소리를 냅니다"); }}class Dog extends Animal {}설명Dog는 Animal을 상속sound() 메서드를 그대로 사용 가..
Java에서 상속(Inheritance)은 객체지향 프로그래밍의 중요한 개념으로, 기존 클래스(부모클래스)의 기능을 그대로 물려받아 새로운 클래스(자식클래스)를 만드는 방식입니다. 상속을 사용하면 코드 재사용성이 높아지고, 구조적인 프로그램 설계가 가능해집니다. 1. 상속이란?상속은 하나의 클래스가 다른 클래스의 변수(필드)와 메서드를 물려받는 것을 의미합니다.Java에서 상속을 사용할 때는 extends 키워드를 사용합니다.class 자식클래스 extends 부모클래스 { } 2. 부모클래스(상위 클래스, Super Class)부모클래스는 자식클래스가 물려받을 공통 속성과 기능을 정의하는 클래스입니다.예:public class Animal { String name; public void ea..