반응형
이번 글에서는 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 < 5; i++) {
toolkit.beep(); // 소리 발생
try {
Thread.sleep(500); // 0.5초 대기
} catch (Exception e) {
// 예외 무시
}
}
// 5번 "띵" 출력
for (int i = 0; i < 5; i++) {
System.out.println("띵");
try {
Thread.sleep(500); // 0.5초 대기
} catch (Exception e) {
// 예외 무시
}
}
}
}
💻 실행 결과
(비프음 5회 출력, 0.5초 간격)
띵
띵
띵
띵
띵
※ 비프음은 콘솔에 보이지 않지만, PC 스피커에서 "삑" 소리가 들려야 합니다.
OS 및 장치 설정에 따라 소리가 안 날 수도 있어요.
💬 코드 설명
- Toolkit.getDefaultToolkit()은 Toolkit 객체를 생성합니다.
- toolkit.beep()은 OS 시스템의 기본 비프음을 출력합니다.
- Thread.sleep(500)은 현재 스레드를 0.5초간 멈춥니다.
- 비프음과 "띵" 사이에 간격을 주기 위한 용도입니다.
- 두 개의 for문이 순차적으로 실행되기 때문에,
소리가 먼저 5번 발생하고 그 다음 "띵"이 출력됩니다.
💡 포인트 정리
- Toolkit.beep()은 간단한 시스템 알림음을 출력할 수 있는 기능입니다.
- Thread.sleep(ms)는 일시정지로 흐름 제어할 수 있는 방법입니다.
- try-catch로 InterruptedException을 처리해야 하며,
일반적으로 멀티스레드, 애니메이션, 반복 실행 등에서 자주 활용됩니다.
📌 정리하자면, 이 예제는 비프음 → 정지 → 텍스트 출력 → 정지 구조를 통해
간단한 흐름 제어와 반복문의 응용을 연습할 수 있습니다.
이후 멀티스레드로 소리와 텍스트를 동시에 출력하는 구조로 확장도 가능하며,
타이머 기능, 경고음 구현, 간단한 알림 시스템에서도 유용하게 활용됩니다.
'Java > 자바 정리' 카테고리의 다른 글
129. 스레드 이름 지정과 확인 – getName()과 setName() (0) | 2025.05.19 |
---|---|
128. 이번엔 상속으로 – Thread 직접 상속하기 (0) | 2025.05.15 |
127. 동시에 소리와 출력 실행하기 – Thread로 병렬 처리 (0) | 2025.05.15 |
125. 수강 조건 제한하기 – 와일드카드 ?, extends, super 실습 (0) | 2025.05.15 |
124. 숫자만 비교하자! – 제한된 제네릭(T extends Number) (0) | 2025.05.15 |
123. 메서드에도 제네릭을? – 제네릭 메서드 Boxing() (0) | 2025.05.15 |