본문 바로가기
공부방/자바프로그래밍

자바 유용한 클래스들 - Object 클래스

by 오후 네시 2020. 9. 22.

Object 클래스 -  최상위 클래스

 

1. 예제

 

public class Obj{

  public static void main(String[] args){

Obj e1=new Obj();

//클래스의 정보

System.out.println(e1.getClass());

//패키지.클래스@해시코드(주소값)

System.out.println(e1);

System.out.println(e1.toString());

}

}

 

Object 클래스


2. Object 자료형은 모든 자료형을 처리할 수 있다.

but

 

간단히 보이지만,

건건마다 해당 자료형 객체(인스턴스)를 생성하므로

내부적으로 상당히 복잡한 연산을 수행한다.

 

아래 예제에서

Object obj=20;을 예로 든다면

내부적으로는

Object obj =new Integer(20);

이런 식으로 새로운 객체(인스턴스)를 생성하게 된다.

 

그래서 object배열은 안 쓰는 것이 좋다. 매우 느리다.

 

public class ToStr{

public static void main(String[] args){

 

Obj obj=new Obj();

 

obj=20;

System.out.println(obj);

obj=20.5;

System.out.println(obj);

obj=”hello”;

System.out.println(obj);

}

}



3. 형변환

 

좌변 부모, 우변 자식 -> 가능

좌변 자식, 우변 부모 -> 에러. 형변환해야함.

 

public class ObjCast{

public static void main(String[] args){

  int a=10;

  Object obj=new Object();

 

  //좌변 부모, 우변 자식 -> 가능

  obj=20;

 

  //좌변 자식, 우변 부모 -> 에러

  //a=obj  <- 에러임(형변환해야함)

 a= (int)obj;

//혹은

 a= (Integer)obj;

}

}

 


Tip :

 

1) 컴파일러 버전 조정할 때

 

해당 프로젝트명에서 우클릭 > property > java Compiler > Compiler compliance level

 

2. 오토박싱(Auto Boxing, 오토언박싱(Auto Unboxing)

 

오토박싱 객체 안에 value 변수가 포함된 개념(Integer i2=20)

오토언박싱 객체 안에 포함된 변수를 꺼냄

 

3) 예외 처리(Exception Handling)

 

에러 컴파일 안 됨. 실행 안 됨

예외 컴파일 됨. 실행 안 됨.

 

예외가 발생하면 프로그램이 그냥 끝남.

예외처리는 그냥 끝내는 것이 아니라 부드럽게 끝내고자 하는 것임

 

필수적으로 예외처리를 해야 하는 것들(네트워크, 파일처리, 데이터베이스 등)이 있고 선택적으로 해도 되고 안 해도 되는 것들이 있음.

 

try catch 형태

 

try {

코딩부분

} catch(Exception e){

에러처리부분

}

 

throws 형태

 

-> 개발자가 에러처리를 하지 않고 미리 작성된 클래스로 에러처리를 넘김.

 

4) 클래스 이름에 Exception이 들어가면 거기서 F4를 눌러라.

 

5) printStackTrace - 예외가 발생했을 때 스택 정보를 콘솔에 출력



댓글