IT/Programming / / 2023. 4. 20. 13:34

[JAVA] java.lang package class 사용 예제

반응형
package dayday13;
/*
 * java.lang 패키지의 클래스
 * API문서 보는 방법
 * 1. English : google - java 8 api - > oracle help center
 * 2. 한국어 : changki.net
 * 
 * 1. Object
 * 2. String
 * 3. Wrapper - 원시자료형 객체화할때 사용
 *   1) Integer
 *   2) Double
 *   3) Byte
 *   4) Boolean..
 * 4. System
 * ================================
 * lang 패키지 : 자동으로 import가 된다. 
 * 
 */

class Pokemon{
	String name = "피카츄";
	int lv = 10;
	public String toString(){
		return "이름 : " + name + "/Lv."+ lv;
	}
}
public class test02 {//Object Class
	public static void main(String[] args) {
		Pokemon p = new Pokemon();
		/*
		 * Object class는 모든 클래스의 root클래스 자동으로 extends Object가 된다.
		 * Object 에는 모든 클래스가 들어갈 수 있다.
		 * (Object 타입에 레퍼러스 변수에는 모든 타입의 레퍼런스가 저장된다.)
		 * 
		 */
		Object[] o = new Object[4];
		o[0] = new Person();
		o[1] = "ABC";
		o[2] = 1;
		o[3] = true;
		////////////////////////
		//Object의 주요 메소드
		//1.boolean equals(Object other)
		//자신과 other가 같은 객체인지 판별
		Object o2 = new Object();
		Object o3 = new Object();
		System.out.println(o2.equals(o3));
		
		String s1 = new String("ABC");
		String s2 = "ABC";
		System.out.println(s1.equals(s2)); // String이 equals를 override함
		
		//2.getClass()
		//해당 객체의 클래스 타입을 알려줌
		System.out.println(s1.getClass());
		System.out.println(o2.getClass());
		System.out.println(o[3].getClass());//출신을 반환  //class java.lang.Boolean
		//클래스 이름을 String으로 반환받고 싶을때. = getClass().getName()
		String str = o[2].getClass().getName();
		System.out.println(str); //java.lang.Integer
		
		
		//3.HashCode()
		System.out.println(o2.hashCode());//JVM이 부여하는 고유번호 : HashCode
		//366712642
		System.out.println(o2);
		//java.lang.Object@15db9742

		
		//4.String toString()
		//이 객첼글 표현하는 한마디!
		//레퍼런스 변수를 출력할경우 or 문자열으로 변환 할 경우 자동으로 toString이 실행됨
		//클래스 작성시 toString()오버라이드 권장..
		System.out.println(p);
		System.out.println(p.toString());
		/*
		 * class Pokemon{}
		 */
		//dayday13.Pokemon@6d06d69c
		//dayday13.Pokemon@6d06d69c
		
		//toString을 오버라이드 하여 ..
		//이름 : 피카츄/Lv.10
		//이름 : 피카츄/Lv.10
		
		Pokemon pp = new Pokemon();
		pp.name = "미뇽";
		pp.lv = 120;
		System.out.println(pp);
		// 이름 : 미뇽/Lv.120
		// why? pp는 레퍼런스가 나와야하는데 자바는 은닉화되어있어 toString이 생성. 오버라이드 하기전까지는 오리지날toString이 반환.

		
		
	}
}
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유