[Java] Java가 제공하는 API(Class library)

jy9922·2022년 7월 17일
0

Java

목록 보기
8/13
post-thumbnail

Class library

  • 상당히 많은 class가 package화 되어서 제공된다.
  • package의 이름은 java로 시작된다.
    1 ) ⭐java.lang.object
    2 ) java.net. xxx (네트워크 관련 라이브러리 포함)
    3 ) java.awt. xxx (자바 프로그램으로 윈도우 창 띄울 때)

API Reference에서 확인

https://docs.oracle.com/en/java/javase/11/docs/api/

Object class

  • Java의 최상위 class다.

# equals( )

  • Object의 메서드에 해당되며, 객체를 내가 원하는 의도대로 equals를 오버라이딩해서 사용할 수 있다.
package lecture0713; 
class Student{
	private String name;
	private int age;
	
	public Student() {
		
	}
	public Student(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}
	
	// getter/setter
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
	@Override
	public boolean equals(Object obj) {
		Student tmp = (Student)obj;
		boolean result = false;
		if ((this.name == tmp.name) && (this.age == tmp.age)) {
			result = true;
		}
		return result;	
        
	}	
}
public class Main {
	public static void main(String[] args) {
		Student s1 = new Student("홍길동", 20);
		Student s2 = new Student("홍길동", 20);
		
		
		System.out.println(s1 == s2); // false, 메모리 주소값 비교
		
		// 값에 대한 내용을 비교하고 싶은 경우, object가 제공하는 equals 사용
		// 재정의 하지 않고 사용하는 경우, false (메모리 주소값 비교)
		System.out.println(s1.equals(s2)); // true
			
	}
}

# toString( )

  • 객체가 가지고 있는 것을 문자열로 변환시켜주는 메서드
  • toString은 원래 println에 자동적으로 붙여서 나온다.
  • 원래는 객체에 대한 메모리 주소에 대한 해시코드를 만들어서 출력한다.
  • 의도에 맞게 사용하기 위해 메서드를 오버라이딩해서 사용하면 된다.
package lecture0713; 
class Student{
	private String name;
	private int age;
	
	public Student() {
		
	}
	public Student(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}
	
	// getter/setter
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	@Override
	public String toString() {
		// TODO Auto-generated method stub
		return this.name + " " + this.age;
	}

}
public class Main {
	public static void main(String[] args) {
		Student s1 = new Student("홍길동", 20);
		Student s2 = new Student("홍길동", 20);
		
		//객체를 문자열로 바꿔주는 기능 (명시하지 않아도 toString은 자동적으로 실행된다)
		// 메모리 주소에 대한 해시코드를 만들어서 print해줌
		// 인자에 해당되는 내용을 원하는 형태로 찍고 싶다면, 원래 기능을 오버라이딩 하면됨
		System.out.println(s1); // 홍길동 20
		
		
	}
}

0개의 댓글