Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

자바(Java)로 호스트 이름과 IP 주소 확인하는 방법

개요

자바(Java)에서는 java.net 패키지의 InetAddress 클래스를 활용하면 현재 시스템의 호스트 이름(Hostname)과 IP 주소를 간단하게 조회할 수 있습니다. 이 글에서는 실제 예제 코드와 함께 동작 원리를 자세히 살펴보겠습니다.

예제 코드

아래는 로컬 시스템의 호스트 이름과 IP 주소를 출력하는 자바 프로그램입니다.

import java.net.*;
public class Demo {
    public static void main(String[] args) {
        try {
            InetAddress my_address = InetAddress.getLocalHost();
            System.out.println("The IP address is : " + my_address.getHostAddress());
            System.out.println("The host name is : " + my_address.getHostName());
        }
        catch (UnknownHostException e) {
            System.out.println("Couldn't find the local address.");
        }
    }
}

실행 결과

The IP address is : 127.0.0.1
The host name is : jdoodle

코드 설명

위 프로그램의 동작 방식을 단계별로 살펴보겠습니다.

1. Demo 클래스와 main 메서드: 프로그램의 진입점 역할을 하는 Demo 클래스 안에 main 함수가 정의되어 있습니다. 모든 실행 흐름은 이 main 메서드에서 시작됩니다.

2. try-catch 블록 구성: 네트워크 관련 작업은 언제든 예외가 발생할 수 있으므로, main 메서드 내부에 try 블록과 catch 블록이 함께 정의되어 있습니다.

3. InetAddress 인스턴스 생성: try 블록 안에서 InetAddress.getLocalHost() 메서드를 호출하여 현재 로컬 호스트에 대한 InetAddress 객체를 생성합니다. 이 객체에는 시스템의 네트워크 정보가 담겨 있습니다.

4. 정보 출력: 생성된 인스턴스에서 getHostAddress() 메서드를 호출하면 IP 주소를, getHostName() 메서드를 호출하면 호스트 이름을 얻을 수 있으며, 이 값들이 콘솔에 순차적으로 출력됩니다.

5. 예외 처리: 만약 로컬 주소나 호스트 이름 중 하나라도 찾지 못하는 경우, UnknownHostException이 발생합니다. 이때 catch 블록이 해당 예외를 잡아 콘솔에 적절한 오류 메시지를 출력하여 프로그램이 비정상 종료되지 않도록 합니다.

마무리

이처럼 자바에서는 InetAddress 클래스만으로도 몇 줄의 코드로 호스트 이름과 IP 주소를 손쉽게 확인할 수 있습니다. 네트워크 프로그래밍이나 서버 환경 정보를 확인해야 하는 상황에서 유용하게 활용할 수 있는 기본적인 기법이니 꼭 익혀두시기 바랍니다.