•
Object 클래스는 모든 클래스의 조상 클래스이며 java.lang 패키지에 속함
•
object 클래스 메소드 종류 (equals, string 메소드가 자주 쓰임)
◦
public boolean equals(Object obj) : obj가 이 객체와 같은지를 검사한다.
◦
public String toString() : 객체의 문자열 표현을 반환한다.
◦
protected Object clone() : 객체 자신의 복사본을 생성하여 반환한다.
◦
public int hashCode() : 객체에 대한 해쉬 코드를 반환한다.
◦
protected void finalize() : 가비지 콜렉터에 의하여 호출된다.
◦
public final Class getClass() : 객체의 클래스 정보를 반환한다
1. Equals 메소드
•
수업 예제
class Circle2{
private int radius;
public Circle2(int radius) {
this.radius = radius;
}
public int getRadius() {
return radius;
}
@Override
public boolean equals(Object obj) {
//오버라이딩할 때 모든 객체타입으로 받을 수 있도록 object로 선언 (생략가능)
//함수 오버라이딩, object가 최고조상, 다형성, instanceof, 다운캐스팅
if(obj instaneof Circle2) {
Circle2 c1 = (Circle2) obj;
if(this.radius == c1.getRadius()) {
return true;
} else {
return false;
}
}
}
public class Poly {
public static void main(String[] args) {
Circle2 circle1 = new Circle2(10);
Circle2 circle2 = new Circle2(10);
if(circle1 == circle2); {
// 결과값 : 2개의 원은 같지 않다고 표현됨
// 객체를 가리키는 참조변수의 주소가 다르기 때문
System.out.println("2개의 원은 같습니다.");
}
else(
System.out.println("2개의 원은 같지 않습니다.");
}
if(circle1.equals(circle2)); {
// 결과값 : 2개의 원은 같습니다.
// equals 메소드를 사용해 객체의 내용을 비교함
//equal함수
System.out.println("2개의 원은 같습니다.");
}
else(
System.out.println("2개의 원은 같지 않습니다.");
}
}
Java
복사
2. toString 메소드
•
String 수업 예제
class Student {
private String name;
private String gender;
public Student(String name, String gender) {
this.name = name;
this.gender = gender;
}
@Override
public String toString() {
return "Student [name=" + name + " gender=" + gender + "]";
}
}
public class ToStringTest {
public static void main(String[] args) {
//object + println + 오버라이딩 + 다형성
Student s = new Student("홍길동", "남자");
System.out.println(s);
}
}
Java
복사