Java 275

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

120. 타입 두 개도 OK! – 제네릭 멀티 타입 파라미터

이번 글에서는 제네릭 타입을 두 개 이상 사용하는 방법을 배워봅니다.Product처럼 제네릭 타입을 여러 개 선언하면,각기 다른 타입의 데이터를 하나의 객체에 유연하게 담을 수 있어 실무에서 자주 활용됩니다.📌 예제 코드package ch13.sec02;public class Product { private K kind; // 첫 번째 타입 매개변수 private M model; // 두 번째 타입 매개변수 public K getKind() { return kind; } public void setKind(K kind) { this.kind = kind; } public M getModel() { return model; ..

Java/자바 정리 2025.05.15

119. 타입을 자유롭게! – 제네릭 클래스 만들기

이번 글에서는 클래스 정의 시 타입을 고정하지 않고,사용하는 시점에 타입을 지정할 수 있도록 만드는 제네릭(Generic) 클래스를 배워봅니다.같은 클래스라도 다양한 타입에 유연하게 대응할 수 있어 코드의 재사용성이 크게 향상됩니다.📌 예제 코드package ch13.sec01;public class Box { public T contesnt; // 제네릭 타입 필드}package ch13.sec01;public class GenericExample { public static void main(String[] args) { Box box1 = new Box(); box1.contesnt = "Hello"; // 문자열 저장 String s..

Java/자바 정리 2025.05.15

[ 21일차 103~118 ] 수업 정리 - 자바

✅ 오전 수업📌 SmartPhone 클래스와 toString()public class SmartPhone { private String company, os; public SmartPhone(String company, String os) { this.company = company; this.os = os; } public String toString() { return company + ", " + os; }}toString() 메서드를 오버라이드해 객체 출력 시 유의미한 정보를 출력하도록 함.📌 예외 처리 기본 구조NullPointerException 예제와 try-catch 블록 사용법Class.forName()을 통한 Class..

국비 2025.05.14
반응형