[Day 15 | Java] java.net패키지 - InetAddress 클래스

y♡ding·2024년 11월 1일
0

데브코스 TIL

목록 보기
104/163

InetAddress (Java SE 17 & JDK 17)

InetAddress 클래스는 자바의 java.net 패키지에서 IP 주소와 관련된 정보를 다루는 클래스입니다. InetAddress는 네트워크에서 호스트의 도메인 이름이나 IP 주소를 쉽게 다룰 수 있게 해줍니다. 예를 들어, 웹 사이트의 URL을 IP 주소로 변환하거나, IP 주소를 호스트 이름으로 변환할 수 있습니다.

InetAddress 클래스의 주요 개념

  • IP 주소: 네트워크 상에서 컴퓨터를 식별하는 고유한 주소입니다. 예를 들어, 192.168.0.1 같은 형태로 네트워크 상의 각 장치를 구분합니다.
  • 도메인 이름: IP 주소에 대응하는 문자열 형태의 주소로, www.example.com과 같은 형태를 가집니다. InetAddress 클래스는 도메인 이름을 IP 주소로 변환하거나, IP 주소를 통해 도메인 이름을 확인할 수 있는 기능을 제공합니다.

InetAddress 객체 생성 및 주요 메서드

InetAddress 객체는 정적 메서드를 사용해 생성합니다. 대표적인 메서드는 다음과 같습니다.

  1. getLocalHost(): 현재 컴퓨터의 IP 주소와 호스트 이름을 반환합니다.
  2. getByName(String host): 지정된 도메인 이름이나 IP 주소를 통해 InetAddress 객체를 반환합니다.
  3. getAllByName(String host): 도메인 이름에 매핑된 모든 IP 주소를 InetAddress 배열로 반환합니다. (하나의 도메인이 여러 IP를 가질 경우 사용)
package com.exam;

import java.net.InetAddress;
import java.net.UnknownHostException;

public class InetAddressEx01 {
    public static void main(String[] args) {
        // java.net 패키지에서 InetAddress 클래스 사용
        // 도메인 <-> IP 주소 변환

        try {
            // 도메인 이름을 통해 IP 주소 정보를 가져옴
            InetAddress inetAddress1 = InetAddress.getByName("www.daum.net");

            // 호스트 이름 출력
            System.out.println("Host Name: " + inetAddress1.getHostName());

            // 호스트의 IP 주소 출력
            System.out.println("다음 Host Address: " + inetAddress1.getHostAddress());

            InetAddress[] inetAddresses = InetAddress.getAllByName("www.naver.com");
            for (InetAddress inetAddress : inetAddresses) {
                System.out.println("네이버 HostAddress: " + inetAddress.getHostAddress());
            }
        } catch (UnknownHostException e) {
            // 도메인 이름을 찾을 수 없을 때 발생하는 예외 처리
            System.out.println("[에러] " + e.getMessage());
        }
    }
}

----
Host Name: www.daum.net
다음 Host Address: 211.249.220.24
네이버 HostAddress: 223.130.200.236
네이버 HostAddress: 223.130.192.247
네이버 HostAddress: 223.130.192.248
네이버 HostAddress: 223.130.200.219

0개의 댓글

관련 채용 정보