• 티스토리 홈
  • 프로필사진
    Song hyun
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
Song hyun
  • 프로필사진
    Song hyun
    • 분류 전체보기 (780)
      • 백준 (0)
      • 일본어 (0)
        • 모모타로TMC (0)
      • 영어 (2)
        • Diary (0)
        • Toast Masters (2)
      • 메모 (13)
      • 설치 메뉴얼 (30)
      • Java (178)
      • MySQL (60)
      • JSP (67)
      • Springboot (46)
      • HTML,CSS, JS (71)
        • HTML (8)
        • CSS (12)
        • JavaScript (37)
        • HTML&CSS 스터디 (13)
      • C++ (7)
      • Linux (7)
      • JPA (34)
      • Kotlin (2)
      • Flutter (42)
      • Error Note (39)
      • 디자인 패턴 (12)
      • 디지털논리회로 (4)
      • 데이터베이스 시스템 (8)
      • 알고리즘 (7)
      • 운영체제 (3)
      • 이산수학 (3)
      • 인공지능 (1)
      • 자료 구조 (14)
        • 기본 개념 (14)
        • 자료구조 스터디 (0)
      • 💡My project (76)
        • 팩맨 : Java Swing 게임 제작 프로젝트 (6)
        • 네이트톡 : Java 소켓 통신 프로젝트 (4)
        • 포켓옥션 : HikariCP&JDBC CRUD 프.. (3)
        • 이지 부산 : BDIA-Devton 2024 프로.. (20)
        • 그린 유니버시티 : JSP를 사용한 학사관리 프로.. (1)
        • 애드 포커 : 웹 소켓과 Spring을 사용한 카.. (1)
        • 셸위 : 게임 친구 매칭 사이트 (21)
        • 다모아 : 개발자 중개 플랫폼 (20)
      • 📗스터디 (13)
        • CNN : 웹개발 스터디 (10)
        • Node&React로 유튜브 사이트 만들기 (3)
      • 📙독서 및 강연 기록 (36)
        • 강연 (14)
        • 독서 (22)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • [Java] 52. Object 클래스
        2024년 04월 25일
        • Song hyun
        • 작성자
        • 2024.04.25.:12
        728x90
        반응형

        [Java] 52. Object 클래스

        1. Object 클래스가 뭘까?

        2. Object 클래스의 메서드 활용


         

         

        1. Object 클래스가 뭘까?

        (1) Object의 정의: Object 클래스는 모든 클래스의 최상위 클래스이다. 모든 클래스는 Object 클래스에서 상속받고, Object 클래스의 메서드 중 일부는 재정의해서 사용할 수 있다. Object 클래스는 단일 상속 규칙에서 유일한 예외이다.

         

        (2) Object의 특징:

        - Object 클래스는 java.lang 패키지 내부에 존재한다.

        -import java.lang*; 프로그래밍시 import 하지 않아도 자동으로 가지고 온다.

        - 많이 사용하는 기본 클래스들이 속한 패키지이며 String, Integer, System… 등이 존재한다.


         

        2. Object 클래스의 메서드 활용

        *Object 클래스의 메서드 중, 일부는 재정의해서 사용할 수 있다. 재정의할 수 없는 메서드는 final로 정의된 것이다.

        **클래스에 final을 붙이면 상속이 불가능해진다.

         

         

        (1) toString 메서드 : 객체의 정보를 String으로 바꿔 쓸 때 사용된다.

        -String/Integer 클래스는 이미 재정의 되어 있다.

         

        (2) equals 메서드 : 두 인스턴스의 주소값을 비교하여, true/false를 반환한다.

        -필요하다면 재정의하여 두 인스턴스가 논리적으로 동일함의 여부를 구현한다.

        ->즉, 인스턴스가 다르더라도 논리적으로 동일한 경우, True를 반환하도록 재정의할 수 있다.

         


         

        package useful;
        
        public class EBook {
        	
        	private int bookTypeId;
        	private String title;
        	private String author;
        	
        	public EBook(int bookTypeId, String title, String author) {
        		super();
        		this.bookTypeId = bookTypeId;
        		this.title = title;
        		this.author = author;
        	}
        
        	
        	// Object 클래스에 있는 메서드를 재정의
        	@Override
        	public String toString() {
        		return bookTypeId+" , "+title+" , "+author;
        	}
        	
        	// Object 클래스에 있는 메서드를 재정의
        	@Override
        	public boolean equals(Object obj) {
        		if(obj instanceof EBook) {
        			System.out.println("EBook이 맞음");
        			return true;
        		}
        		else {
        			return true;
        		}
        	}
        	
        	public static void main(String[] args) {
        		EBook book1=new EBook(1,"홍길동전","허균");
        		EBook book2=new EBook(1,"홍길동전","허균");
        		
        		if(book1.equals(book2)) {
        			System.out.println("같은 주소를 가리킨다.");
        		}
        		else {
        			System.out.println("아냐, 다른 주소야");
        		}
        		System.out.println(book1);
        		System.out.println(book2);
        		
        		}
        	
        }

         

         

        package useful;
        
        
        public class EBook {
        	
        	private int bookTypeId;
        	private String title;
        	private String author;
        
        	public EBook(int bookTypeId, String title, String author) {
        		this.bookTypeId = bookTypeId;
        		this.title = title;
        		this.author = author;
        	}
        	
        	// Object 클래스에 있는 메서드를 재정의
        	@Override
        	public String toString() {
        		return bookTypeId + ", " + title + ", " + author;
        	}
         
        	// Object 클래스에 있는 메서드를 재정의
        	@Override
        	public boolean equals(Object obj) {
        		// 1. EBook 클래스의 인스턴스가 맞다면 
        		if(obj instanceof EBook) {
        			EBook tBook = (EBook)obj;
        			// 2. EBook 의 제목과 저자의 이름이 같다면 true 반환 시켜라
        			if(this.title.equals(tBook.title)) {
        				return true; 
        			} else {
        				return false; 
        			}
        		}
        		return false;
        	}
        	
        	
        	public static void main(String[] args) {
        		EBook book1 = new EBook(1, "홍길동전", "허균");
        		EBook book2 = new EBook(1, "홍길동전", "허균");
        		System.out.println("------------------------------------------------");
        		
        		boolean result1 = book1 == book2;
        		System.out.println("result1 : " + result1);
        		
        		boolean result2 = book1.equals(book2);
        		System.out.println("result2 : " + result2);
        		
        		
        		
        	}
        	
        }
        728x90
        반응형

        'Java' 카테고리의 다른 글

        [Java] 54. 인터페이스와 추상 클래스의 활용  (0) 2024.04.26
        [Java] 53. String, StringBuffer 클래스  (0) 2024.04.26
        [Java] 51. 스윙 컴포넌트, 반복문 활용: 동서남북에 버튼 만들기  (0) 2024.04.25
        [Java] 50. 스윙 컴포넌트로 버튼 만들기  (0) 2024.04.25
        [Java] 49. 자바 GUI와 Swing 컴포넌트  (0) 2024.04.25
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바