Java 204

130. 일정 시간마다 반복하기 – Thread.sleep()과 스레드 제어 메서드 총정리

이번 글에서는 Thread.sleep()을 사용하여1초 간격으로 소리와 메시지를 반복 출력하는 예제를 실습합니다.그리고 스레드 흐름 제어에 사용되는 주요 메서드들에 대해 함께 정리합니다.📌 예제 코드import java.awt.Toolkit;public class SleepExample { public static void main(String[] args) { Toolkit toolkit = Toolkit.getDefaultToolkit(); for (int i = 0; i 💻 실행 결과beep-!(1초 후)beep-!(1초 후)...총 10회 반복💡 1초마다 "beep-!" 메시지 출력과 함께 시스템 비프음이 울림OS에 따라 소리가 들리지 않을 수 있음💬 코드 설..

Java/자바 정리 2025.05.19

129. 스레드 이름 지정과 확인 – getName()과 setName()

이번 글에서는 자바에서 스레드의 이름을 확인하고,직접 이름을 설정하는 방법을 실습합니다.스레드 이름은 로그 출력, 오류 추적, 디버깅 등에서 식별에 매우 중요한 역할을 합니다.📌 예제 코드public class ThreadNameExample { public static void main(String[] args) { // 현재 실행 중인 main 스레드 정보 확인 Thread mainThread = Thread.currentThread(); System.out.println(mainThread.getName()); // 기본: main // 이름이 자동 부여되는 스레드 3개 생성 for (int i = 0; i 💻 실행 결과 예시..

Java/자바 정리 2025.05.19

128. 이번엔 상속으로 – Thread 직접 상속하기

이번 글에서는 Thread 클래스를 직접 상속받은 익명 객체를 사용해비프음 출력과 문자 출력을 동시에 실행하는 멀티스레드 구조를 구성합니다.127강과 달리 Runnable을 구현하지 않고, Thread 클래스를 바로 상속받는 방식입니다.📌 예제 코드import java.awt.Toolkit;public class BeepPrintExample { public static void main(String[] args) { // Thread 클래스를 직접 상속한 익명 객체 생성 Thread thread = new Thread() { public void run() { Toolkit toolkit = Toolkit.getDefault..

Java/자바 정리 2025.05.15

127. 동시에 소리와 출력 실행하기 – Thread로 병렬 처리

이번 글에서는 Thread 객체를 사용해비프음 출력과 문자 출력을 동시에 실행하는 멀티스레드 구조를 실습합니다.Runnable 인터페이스를 익명 구현 객체로 만들어 스레드에 전달하고,start()를 호출하면 메인 흐름과는 별도의 독립 실행 흐름이 생성됩니다.📌 예제 코드import java.awt.Toolkit;public class BeepPrintExample { public static void main(String[] args) { // 새로운 스레드 정의 Thread thread = new Thread(new Runnable() { public void run() { Toolkit toolkit = Toolkit.ge..

Java/자바 정리 2025.05.15

126. 소리와 글자를 번갈아 출력해보자 – Toolkit.beep()와 Thread.sleep()

이번 글에서는 java.awt.Toolkit의 beep() 메서드를 이용해 소리(비프음) 를 내고,Thread.sleep()을 사용하여 일정 시간 동안 멈췄다가 다시 실행되는 구조를 실습합니다.소리와 출력이 순차적으로 실행되는 구조로, 시간 제어 흐름과 반복문의 기본을 함께 연습할 수 있습니다.📌 예제 코드import java.awt.Toolkit;public class BeepPrintExample { public static void main(String[] args) { Toolkit toolkit = Toolkit.getDefaultToolkit(); // Toolkit 객체 생성 // 5번 비프음 출력 for (int i = 0; i 💻 실행 결과..

Java/자바 정리 2025.05.15

125. 수강 조건 제한하기 – 와일드카드 ?, extends, super 실습

이번 강의에서는 제네릭 타입에서 사용하는 와일드카드(?)와 상한/하한 제한(extends, super)을수강 등록 시스템을 예로 들어 실습합니다.registerCourse1, registerCourse2, registerCourse3 각각은 등록 가능한 대상의 타입을 다르게 제한하고 있으며,이를 통해 유연하지만 안전한 타입 필터링이 가능해집니다.📌 예제 코드 요약📦 클래스 구조class Person {}class Worker extends Person {}class Student extends Person {}class HighStudent extends Student {}class MiddleStudent extends Student {}📦 Applicant 클래스public class Appli..

Java/자바 정리 2025.05.15

124. 숫자만 비교하자! – 제한된 제네릭(T extends Number)

이번 글에서는 제네릭 타입 매개변수에 제한을 두는 방법을 배웁니다.처럼 extends 키워드를 사용하면,해당 제네릭 메서드는 Number를 상속한 타입(예: Integer, Double, Float)만 사용할 수 있게 제한됩니다.📌 예제 코드public class GenericExample { // Number를 상속한 타입만 허용하는 제네릭 메서드 public static boolean compare(T t1, T t2) { System.out.println("compare(" + t1.getClass().getSimpleName() + ", " + t2.getClass().getSimpleName() + ")"); double v1 = t1.doubleValue..

Java/자바 정리 2025.05.15

123. 메서드에도 제네릭을? – 제네릭 메서드 Boxing()

이번 글에서는 제네릭 메서드(Generic Method) 를 정의하고 사용하는 방법을 배웁니다.제네릭 메서드는 메서드 자체에서 타입 매개변수를 선언하고,호출 시점에 타입을 유추하거나 명시하여 다양한 타입의 데이터를 처리할 수 있습니다.📌 예제 코드package ch13.sec03;public class Box { private T t; public T get() { return t; } public void set(T t) { this.t = t; }}package ch13.sec03;public class GenericExample { // 제네릭 메서드 정의 public static Box Boxing(T t) { Box ..

Java/자바 정리 2025.05.15

122. 제네릭 객체도 비교할 수 있다 – 같은 타입끼리의 compare() 메서드

이번 글에서는 제네릭 클래스를 활용한 타입 안전한 비교 메서드 구현 방법을 배울겁니다.Box 클래스는 T 타입의 데이터를 담고 있으며,같은 타입의 Box 객체와 내용이 같은지를 비교하는 compare() 메서드를 제공합니다.📌 예제 코드package ch13.sec02;public class Box { public T content; public boolean compare(Box other) { boolean result = content.equals(other.content); // 내용 비교 return result; }}package ch13.sec02;public class GenericExample4 { public static void mai..

Java/자바 정리 2025.05.15

121. 인터페이스도 제네릭으로! – 타입별로 유연한 구조 만들기

이번 글에서는 제네릭 인터페이스를 구현하는 방법을 배웁니다.Rentable라는 인터페이스에 타입 매개변수를 선언하고,각 구현 클래스에서 해당 타입을 지정해 객체를 유연하게 생성하거나 반환할 수 있습니다.📌 예제 코드package ch13.sec02;public interface Rentable { P rent(); // P 타입의 객체를 반환하는 추상 메서드}package ch13.sec02;public class Home { public void turnOnLight() { System.out.println("전등을 켭니다."); }}package ch13.sec02;public class Car { public void run() { System.ou..

Java/자바 정리 2025.05.15
반응형