반응형
✅ 1. 스래드 생성 방법Java 에서 스레드를 만드는 방법으로는 두 가지 방법이 있습니다.1️⃣ Thread 클래스 상속class MyThread extends Thread { @Override public void run() { System.out.println("Thread is running: " + Thread.currentThread().getName()); }}public class ThreadClassExample { public static void main(String[] args) { MyThread t1 = new MyThread(); t1.start(); // Start the first thread }}run() ..
1. 파일 읽기BuffredReader는 파일을 한 줄씩 읽을 때 효율적인 코드이며, 내부적으로 버퍼를 사용해 읽기 성능을 올려줍니다.import java.io.BufferedReader;import java.io.FileReader;import java.io.IOException;public class FileReaderExample { public static void main(String[] args) { String filePath = "output.txt"; try (BufferedReader br = new BufferedReader(new FileReader(filePath))) { String line; while ((l..
1. ListList는 순서가 있는 컬렉션으로, 중복된 요소를 허용합니다. 대표적 구현체로는 ArrayList와 LinkedList가 있습니다.import java.util.ArrayList;import java.util.List;public class ListExample { public static void main(String[] args) { List list = new ArrayList(); list.add("Apple"); list.add("Banana"); list.add("Orange"); for (String fruit : list) { System.out.print(fruit); } ..
1. Java 커스텀 예외 클래스 생성Java에서 사용자 정의 예외(커스텀 예외)를 생성하려면 Exception 클래스를 상속받아 새로운 예외 클래스를 만들고, 특정한 상황에서 발생할 수 있는 예외를 정의할 수 있습니다. 커스텀 예외 클래스를 생성하고 사용하는 방법은 아래와 같습니다.// 사용자 정의 예외 클래스 public class MyCustomException extends Exception { public MyCustomException(String message) { super(message); // 부모 클래스의 생성자 호출 }}2. 커스텀 예외 사용하기사용자 정의 예외를 사용해 클래스로 Execption을 상속받고, 생성자에서 메시지를 전달받아 부모 클래스의 생성자에..
1. 인터페이스(Interface)Java에서 인터페이스는 클래스가 구현해야 하는 메서드의 집합을 정의하는 일종의 계약으로, 인터페이스는 다중 상속을 지원하며, 코드의 재사용성과 유연성을 높이는 데 중요한 역할을 합니다. 인터페이스는 interface 키워드를 사용해 정의합니다. 인터페이스는 메서드의 시그니처(이름, 매개변수, 반환 타입) 만을 포함하고, 구현(바디)은 포함하지 않습니다.interface Soccer { void dribble(); // 드리블 void kick(); // 슛 void handle(); // 펀칭 void success(); // 펀칭 성공공} 2. 인터페이스 구현하기인터페이스를 구현하는 클래스는 implements 키워드를 사용하여 인터페이스의 ..
1. 상속 (Inheritance)자바의 상속은 한 클래스가 다른 클래스의 속성과 메소드를 물려받는 기능으로 extends 키워드를 사용해 상속을 구현할 수 있습니다. 상속을 통해 코드를 재사용하고, 계층 구조를 생성할 수 있습니다. 상속의 특징과 장점은 다음과 같습니다.특징단일 상속: 자바는 클래스가 하나의 부모 클래스만 상속받을 수 있으며, 이를 통해 다이아몬드 문제를 피할 수 있음재사용성: 상위 클래스의 속성과 메소드를 하위 클래스가 재사용할 수 있음계층 구조: 클래스 간의 관계를 계층적으로 정의할 수 있어, 객체 간의 관계를 직관적으로 이해 장점코드의 재사용성: 이미 작성된 클래스의 기능을 재사용해 새로운 클래스를 쉽게 만들 수 있음유지보수 용이성: 코드의 수정이 용이하며, 상위 클래스에서 수정하..