반응형
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이 반환.
}
}
반응형
'IT > Programming' 카테고리의 다른 글
[JAVA] Abstract class를 사용한 미니게임[탱크vs스나이퍼] 예제 (0) | 2023.04.20 |
---|---|
[JAVA] instanceof 연산자 사용 예제 (0) | 2023.04.20 |
[JAVA] Wrapper class 사용 예제 (0) | 2023.04.20 |
[JAVA] String class 사용 예제 (0) | 2023.04.20 |
[JAVA] class를 사용한 회원가입 프로그램 예제 (0) | 2023.04.20 |