///////
Search

16_object 클래스_이도현

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
복사