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());
}
}
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 - 예외가 발생했을 때 스택 정보를 콘솔에 출력
'공부방 > 자바프로그래밍' 카테고리의 다른 글
자바 일반화 (Generic, 제네릭) (0) | 2021.02.19 |
---|---|
유용한 클래스들 – 래퍼(Wrapper) 클래스 (0) | 2021.02.02 |
자바 유용한 클래스들 – Math, Calendar, Arrays, Random 클래스 (0) | 2020.11.02 |
자바 유용한 클래스들 - String 클래스 (0) | 2020.10.08 |
자바 내부클래스 (0) | 2020.09.07 |
자바 인터페이스 (0) | 2020.08.31 |
자바 추상화 (0) | 2020.08.23 |
자바 다형성 (0) | 2020.08.12 |
댓글