037_오브젝트

Jan 03, 2024
037_오브젝트

오브젝트(Object)

  • 오브젝트 끼리의 ‘==’는 메모리 값(주소 값)을 비교한다. → ‘==’는 기본 자료형은 값을 비교, 참조 자료형은 주소 값을 비교한다.
  • 위의 사항으로 인해 ‘equals()’ 를 이용하여 값을 비교한다. (변수명.equals() → 주소 비교 / 변수명.toString().equals() → 상태 값 비교)
String은 왜 new 를 안하고 사용이 가능할까? → String은 사용 횟수가 많아서 배려를 해준 것이다!

  • 오브젝트 예제 코드 → 오브젝트가 클래스에 생략 된 것과 equals()의 사용을 위주로 설명한 코드이다.
package ex08; class Account extends Object { // extends Object가 모든 클래스에서 생략되어있다. private String author; private int number; private int balance; public Account(String author, int number, int balance) { this.author = author; this.number = number; this.balance = balance; } @Override public String toString() { return "Account{" + "author='" + author + '\'' + ", number=" + number + ", balance=" + balance + '}'; } } public class ObEx01 { public static void main(String[] args) { Account account = new Account("홍길동", 1111, 1000); Account account2 = new Account("홍길동", 1111, 1000); System.out.println(account); System.out.println(account2); System.out.println(account.hashCode()); System.out.println(account2.hashCode()); // 메모리 값 비교 (주소 비교) if (account == account2) { System.out.println("같아요?1"); } // account -> equals() (주소 비교) // toString -> equals() (주소 비교 and 값 비교) if (account.toString().equals(account2.toString())) { System.out.println("같아요?2"); } } }
파싱(parsing)이란 무엇인가? 파싱은 일반적으로 문자열 등의 데이터를 특정한 데이터 타입으로 변환하는 과정을 말하며, 구분 분석이라고 말합니다. 만약 파싱을 한 데이터를 오브젝트 타입으로 변환하면 원래 타입으로 캐스팅 하여야 하는데 이때 제대로된 타입을 하지 않으면 오류를 발생 시키니 이를 주의해서 사용하여야 한다.
 
 
Share article
RSSPowered by inblog