Programming/객체 지향 프로그래밍(OOP)

OOP 활용: java.lang 패키지

vita12321 2023. 10. 8. 08:00
728x90
반응형

이번 글에서는 객체 지향 프로그래밍(Object-Oriented Programming, OOP) 활용 사례 하나인 'java.lang 패키지' 대해 상세하게 다루겠습니다. 이전에는 인터페이스와 활용법에 대해 살펴봤지만, 이번 글에서는 java.lang 패키지를 어떻게 활용하는지, 그리고 필요한지 등에 대해 심화된 내용과 실제 사례를 통해 설명하겠습니다.


1. java.lang 패키지란?

 

Java 언어를 사용하면서 가장 기본적으로 제공되는 패키지입니다. 패키지는 자동으로 import 되므로 별도로 import 구문을 작성할 필요가 없습니다. 주요 클래스로 Object, Class, System, String, StringBuffer/StringBuilder, Math 등이 있습니다.

 

Object 클래스는 Java 모든 클래스의 최상위 클래스입니다. 클래스에서 제공하는 메소드들은 모든 Java 객체가 기본적으로 가질 있는 기능들을 정의합니다.

 

Class 클래스는 Java 리플렉션(Reflection) 기능을 지원하기 위한 중요한 역할을 합니다. 리플렉션은 프로그램 실행 중에 객체의 정보를 분석하거나 조작하는 것을 말합니다.

 

System 클래스는 시스템 관련 정보나 기능을 제공합니다. 예를 들어 현재 시간 정보를 가져오거나 콘솔 출력 등이 가능합니다.

 

String StringBuffer/StringBuilder 클래스들은 문자열 조작과 관련된 다양한 메소드들을 제공합니다.

 

Math 클래스는 수학적 계산과 관련된 다양한 메소드들을 제공합니다.


2. java.lang 패키지를 사용하는가?

 

java.lang 패키지의 각각의 클래스들은 Java 프로그래밍에서 가장 기본적인 데이터 조작부터 시스템 관리까지 광범위하게 담당하고 있습니다.

 

예를 들어 String StringBuilder/StringBuffer클래스들은 문자열 생성 변환 작업에 널리 사용되며, Math클래스와 같이 숫자 연산과 관련된 작업도 지원합니다.


3. java.lang 패키지 활용

 

Java 언어 기준으로 String Math클래스 사용 예시부터 살핀 , System 클래스와 Runtime 클래스를 활용한 예시도 확인해 보겠습니다.

 

예시 코드:

String str = "Hello World";

System.out.println(str.length());  // Outputs: 11

 

double result = Math.sqrt(16);

System.out.println(result);  // Outputs: 4.0

 

예제에서 String클래스의 length() 메소드를 사용하여 문자열의 길이를 반환받았고, Math클래스의 sqrt() 메소드를 사용하여 숫자의 제곱근을 계산하였습니다.


4. java.lang 패키지 사용 예시

 

아래 코드는 System Runtime 클래스의 활용 예시입니다.

long currentTime = System.currentTimeMillis();

System.out.println(currentTime);

 

Runtime runtime = Runtime.getRuntime();

long memory = runtime.totalMemory() - runtime.freeMemory();

System.out.println(memory);

 

코드에서는 System.currentTimeMillis() 메소드 호출로 현재 시간(밀리초 단위) 얻었고, Runtime.getRuntime().totalMemory(), freeMemory() 메소드 호출로 현재 JVM 차지하는 메모리와 여유 메모리 정보를 가져왔습니다.


5. 주의사항

 

java.lang 패키지는 기본적으로 모든 Java 프로그램에서 import 되므로, 같은 이름의 클래스나 인터페이스가 다른 패키지에 존재할 경우 충돌이 발생할 있습니다. 이러한 경우 전체 패키지 이름을 포함한 클래스 이름을 명시하거나 별칭(alias) 사용하여 해결할 있습니다.


6. 활용 사례

 

java.lang 패키지는 다양한 상황에서 활용됩니다.

 

  • 웹 개발: HTTP 응답 생성 및 처리에 String과 StringBuilder/StringBuffer클래스들이 널리 사용됩니다.
  • 수학 계산: 복잡한 수학적 계산에 Math클래스가 이용됩니다.
  • 시스템 모니터링: 시스템 상태 확인 및 관리에는 System과 Runtime 클래스가 필요합니다.

7. 결론

 

객체 지향 프로그래밍에서 'java.lang 패키지' 중요한 도구입니다. 도구를 이해하고 활용하면 코드의 효유성과 가독성을 높일 있으며, 복잡한 문제에 대응하는데 유용합니다.

 

하지만 모든 것이 그렇듯이 잘못 사용되면 문제가 발생할 있으니 주의하여 설계해야 합니다. java.lang 패키지 내부에 있는 여러 클래스들은 각자 특정 목적에 맞게 설계되었기 때문에, 용도와 기능을 정확하게 알고 적절하게 활용하는 것이 중요합니다.

728x90
반응형

 

728x90
반응형