yeny_lab

[JAVA] java.lang 패키지의 Class클래스

2020. 7. 23. 18:51·JAVA
728x90

 


여러가지 기본적인 java.lang 패키지의 클래스를 공부해보자.

ㅇObject 클래스 

ㅇSystem 클래스

ㅇClass 클래스 <<요거를 보자

ㅇStrnig 클래스

ㅇWrapper 클래스

ㅇMath 클래스

 


Class 클래스

자바는 Class 클래스에서 클래스와 인터페이스의 메타 데이터를 관리한다.

(메타 데이터: 클래스의 이름, 생성자 정보, 필드 정보, 메소드 정보)

 

더보기

ㅡㅡㅡㅡ

자바API문서 둘러보기

Class 클래스에는 필드랑 생성자는 없고, 메소드와 중첩 클래스가 있다.

와 그런데 메소드가 무진장 많다!!

ㅡㅡㅡㅡ

 

 

공부할 메소드는 다음과 같다.

ㅇgetClass(), forName() : Class 객체 정보 얻기

ㅇgetResource() 

 


Class 객체 얻기 : getClass(), forName()

프로그램에서 Class 객체를 얻기 위한 방법은 다음 세 가지가 있다.

 

ㅇ클래스로부터 얻기

(객체 없이 클래스 이름만 가지고 Class 객체 얻기)

1. Class clazz = 클래스이름.class

2. Class class = Class.forName("패키지...클래스이름")

forName()은 static이라서 클래스명인 Class로 작성하나보다.

 

ㅇ객체로부터 얻기

3. Class class = 참조변수.getClass();

 

예) String 클래스의 Class객체를 얻어보자
1. Class clazz = String.class;
2. Class clazz = Class.forName("java.lang.String");
   String str = "김자바"
3. Class clazz = str.getClass();

Class 객체 정보 얻기

 


클래스 경로를 활용해서 리소스 절대 경로 얻기 : getResource()를 통해서

>>Class 객체는 '해당 클래스의 파일 경로 정보를 갖고 있다' --> 이 경로를 통해 '다른 리소스 파일' 예를 들면 이미지, xml, property 파일 등 경로를 얻을 수 있다. >> UI프로그램에서 많이 활용되는 방법이다.

 

한번 예시를 들어 확인해보자 

 

Car클래스 있는 경로에 photo.jpg파일이 있다고 해보자

ㅇphoto1.jpg는 Car.class가 있는 경로에,

ㅇphoto2.jpg는 그 경로의 하위 폴더 images 안에

 

 

프로그램 실행 중 photo1.jpg, photo2.jpg의 절대 경로가 필요하면

Car.class를 기준으로 한 상대 경로를 이용해서 절대 경로를 얻을 수 있다.

 

String photo1Path = clazz.getResource("photo1.jpg").getPath();

String photo2Path = clazz.getResource("images/photo2.jpg").getPath();

 

 

이때 Car.class 경로는 bin 폴더에 있다. 소스파일 노노 클래스 파일 예스

 


확인문제 5

ㅠㅠ 복습 안하면 머리속에서 엉키고 끊어진다.

 

클래스 객체 얻는 방법 세 가지.. 희미해져서 다시 여기루 돌아왔다.

 

ㅇClass.forName() 메소드 또는 객체의 getClass()메소드로 객체를 얻을 수 있다.

<Class클래스니까 Class.forName()이다. forName()은 static 메소드라서 클래스명으로 접근)

ㅇ클래스명.class 로 Class객체를 얻을 수 있다.

 

 

728x90

'JAVA' 카테고리의 다른 글

[JAVA] java.lang 패키지의 Wrapper 클래스 [ 포장클래스]  (0) 2020.07.25
[JAVA] java.lang 패키지의 String 클래스  (0) 2020.07.23
[JAVA] java.lang 패키지의 System클래스  (0) 2020.07.23
[JAVA] java.lang 패키지의 Object클래스  (0) 2020.07.22
[혼자 공부하는 자바] 7/21 11-1 [기본 API클래스] [java.lang 패키지]  (0) 2020.07.21
'JAVA' 카테고리의 다른 글
  • [JAVA] java.lang 패키지의 Wrapper 클래스 [ 포장클래스]
  • [JAVA] java.lang 패키지의 String 클래스
  • [JAVA] java.lang 패키지의 System클래스
  • [JAVA] java.lang 패키지의 Object클래스
히어로맛쿠키
히어로맛쿠키
  • 히어로맛쿠키
    yeny_lab
    히어로맛쿠키
  • 전체
    오늘
    어제
    • 분류 전체보기 (389)
      • 미분류글 (32)
        • ㅇ (2)
      • JAVA (84)
        • Effective Java (1)
        • Application (21)
      • 컴퓨터구조 & OS (28)
      • 자료구조 + 알고리즘 (43)
      • Database (12)
      • 컴파일러 (10)
      • 수학 (33)
        • 미분방정식 (12)
      • 데이터분석과 머신러닝 (38)
      • 기타 (59)
      • yyeeennyy (25)
  • 공지사항

    • ^o^/♡
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
히어로맛쿠키
[JAVA] java.lang 패키지의 Class클래스
상단으로

티스토리툴바