본문 바로가기

java,jsp,spring/java

java 패키지

패키지

주요 패키지

  1. java.lang
    • 자바 language, 자동 상속 > 그냥 사용할 수 있음
  2. java.util
    • 자바 유틸리티
  3. java.io
    • 입출력
  4. java.awt
    • 자바 GUI

객체 해시코드

  • 서명 : 객체에 대한 서명
  • 객체를 식별하는 정수값
  • 내부 주소 : 참조 변수
  • 해시코드가 같으면 equals()메소드를 이용해 객체가 같은지 비교 → 해시코드가 같다고 동일객체가 아닐 수 있음
  • 예제
class Point {
	private int x,y;
	public Point(int x, int y) {
		this.x = x;
		this.y = y;
	}
	//public String toString() {  //toString 메소드 오버라이딩
		//return "Point("+x+", "+y+")";
	//}
}
public class ObjectPropertyEx {
	public static void print(Object obj) {
		System.out.println(obj.getClass().getName());
		System.out.println(obj.hashCode()); // 객체 서명 10진수
		System.out.println(obj.toString()); // 객체 주소 값 16진수
		System.out.println(obj); // 객체 자체를 출력 == toString()
	}
	public static void main(String[] args) {
		Point p = new Point(2,3);
		print(p);
	}
}

Object 클래스

메소드 의미
boolean equals(Object obj) 문자열 비교
Class getClass() 클래스 존재 유무 확인
int hashCode() 해시코드 값 확인
String toString() 문자열로 변환 @16진수 형태로 표시
  • 객체 비교(==) vs equals()

Wrapper 클래스

  • 자바의 기본 타입 > 클래스화

  • 객체 생성 : valueOf()메소드 사용
  • 주요 메소드
    1. static String toString(int i) - 정수를 문자열로 변환
    2. static String toHexString(int i) - 16진수 값으로 변환한 문자열
    3. static String toBinaryString(int i) - 2진수 값으로 변환한 문자열
    4. static int parseInt(String s) - 문자열을 정수로 변환
    5. static Integer valueOf(int i) - 정수 값을 가지는 Integer 객체
    6. static Integer valueOf(String s) - 문자열 값을 가지는 Integer 객체
  • 활용
Integer i = Integer.valueOf(10);
int ii = i.intValue();
// i객체의 정수값을 int 타입의 ii에 넣음 // intValue() : 정수값을 가져옴
  • 박싱과 언박싱 : 현재(JDK1.5이후)는 자동으로 박싱,언박싱이 됨

public class WrapperEx {
	public static void main(String[] args) {
		char c1 = '4', c2 = 'F';
		if (Character.isDigit(c1)) {   // 숫자인지 확인
			System.out.println(c1+"는 숫자");
		} else {
			System.out.println(c1+"는 숫자 아님");
		}
		if (Character.isAlphabetic(c2)) {  // 영문자인지 확인
			System.out.println(c2+"는 영문자");
		} else {
			System.out.println(c2+"는 영문자 아님");
		}
		System.out.println(Integer.parseInt("-123"));
		System.out.println(Integer.toHexString(28));
		System.out.println(Integer.toBinaryString(28));
		
		Double d = Double.valueOf(3.14);
		System.out.println(d.toString()); // 3.14
		System.out.println(d); // 3.14 >> 자동 언박싱
		System.out.println(Double.parseDouble("3.14"));
		
		boolean b = (4>3);
		System.out.println(Boolean.toString(b)); // true
		System.out.println(Boolean.parseBoolean("false")); // false
	}
}

'java,jsp,spring > java' 카테고리의 다른 글

java 기타 클래스  (0) 2022.08.01
java 스레드, 메모리 사용 영역  (1) 2022.08.01
java 추상클래스, 인터페이스  (0) 2022.07.31
java 상속  (0) 2022.07.31
java 접근 지정자, static  (0) 2022.07.25