- 상당히 많은 class가 package화 되어서 제공된다.
- package의 이름은 java로 시작된다.
1 ) ⭐java.lang.object
2 ) java.net. xxx (네트워크 관련 라이브러리 포함)
3 ) java.awt. xxx (자바 프로그램으로 윈도우 창 띄울 때)
https://docs.oracle.com/en/java/javase/11/docs/api/
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
}
}
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
}
}