220929(Object)

서이·2022년 9월 29일

수업정리

목록 보기
7/17

Object 클래스

모든 클래스의 조상클래스이다.

 public boolean equals(Object obj):ojb가 이 객체와 같은지 검사

 public String toString()"객체의 문자열 표현을 반환

 public int hashCode():객체에 대한 해쉬 코드를 반환한다.



equals() 메소드

object에서 제공되는 equlas()는 == 연산자를 사용하여서
객체의 주소가 동일한지를 검사하여 true 또는 false를 반환한다.

class Circle {

		private int radius;
        
        public Circle(int radius){
        	this.radius = radius;
        }
        
        public int getRadius() {
        	return radius;
        }
        
        
        //함수 오버라이딩 + object가 최고조상 + 다형성 + instanceof + 다운 캐스팅
        @Override
        public boolean equals(Object obj) {

            if( obj instanceof Circle) {
                Circle c1 = (Circle) obj;

                if( this.radius == c1.getRadius()) 
                    return true;
            }

            return false;
        }
        

	
    public static void main(String[] args){
    	Circle circle1 = new Circle(10);
        Circle circle2 = new Circle(10);
        
        System.out.println(circle1);
        System.out.println(circle2);
        
        if(circle1 == circle2)
        	System.out.println("2개의 원은 같습니다.");
        else {
        	System.out.println("2개의 원은 같지 않습니다.");
        }
        
        if(circle1.equals(circle2))
        	System.out.println("2개의 원은 같습니다.");
        else {
        	System.out.println("2개의 원은 같지 않습니다.");
        }
    }
}
        
        

toString() 메소드
객체의 문자 정보 리턴

class Student {

	private String name;
	private String gender;
	
	Student(String name,String gender){
		this.name = name;
		this.gender = gender;
	}
	
	public String toString() {
		return "이름은 " + name + "이고 성별은 " + gender + "입니다.";
	}
	
	
}
public class  StudentTest{
	public static void main(String[] args) {
		
		Student s= new Student("홍길동","남자");
	    System.out.println(s);

	}
}

String 클래스
문자열을 구성하는 문자들을 내부에 저장한다.

public static void main(String[] args) {
		String s1 = "Java";
		String s2 = "Java";
		
		String s3 = new String("java");
		String s4 = new String("java");

		if(s1 == s2) {
			System.out.println("같습니다.");
		}else {
			System.out.println("다릅니다.");
		}
		
		if(s3 == s4) {
			System.out.println("같습니다.");
		}else {
			System.out.println("다릅니다.");
		}
        
        //문자열 비교하기
        if(s3.equals(s4)) {
			System.out.println("같습니다.");
		}else {
			System.out.println("다릅니다.");
		}
	}

profile
작성자 개인이 잊을 때마다 보라고 정리한 글

0개의 댓글