자바 명령어 질문입니다!!(급!!)

자바 명령어 질문입니다!!(급!!)

작성일 2009.05.11댓글 1건
    게시물 수정 , 삭제는 로그인 필요

public boolean equals(Object obj)
 {
  Record book = (Record)obj;  
  if(strBook.equals(book.getBook()))
   return true;
  return false;
 }

 

=================================================

.......에서

Record book = (Record)obj;는 대체 무엇을 의미하는 것인가요?

 

그리고 리턴이 if문에 한번 있고 그다음에 또 있는데....

이러면 if조건이 충족될시 리턴이 두번 되는것 맞습니까?

else라도 들어있으면 이해 하겠는데 저렇게 해 놓으면

if 조건이 맞아서 트루가 반환된다 하더라도 곧장 다시 펄스가 반환되지 않나요?

 

if문 조건인 if(strBook.equals(book.getBook())) 자체도 지금 어떻게 돌아가는건지 잘 이해가 안되네요.

설명 부탁드립니다.

 

자바 고수님들의 가급적 빠른 질문 부탁 드립니다.


#자바 명령어 #자바 명령어 실행 #자바 명령어 라인 #자바 명령어 cmd #자바 명령어 설정 #자바 명령어 확인 #마크 자바 명령어 #리눅스 자바 명령어 #윈도우 자바 명령어 #linux 자바 명령어

profile_image 익명 작성일 -

public boolean equals(Object obj)
 {
  Record book = (Record)obj;  
  if(strBook.equals(book.getBook()))
   return true;
  return false;
 }

 

Object 라는건 자바 최상위 개층 클래스로 자바에서 만들어지는 모든 클래스는

 

Object를 상속 받습니다. 어떠한 프로그램인지 정확히는 모르겠지만..

자료검색하는걸로 보여집니다.

Rdcord 라는 객체를 매개변수로 보냇습니다

 

public boolean equals(Object obj)


Record book = (Record)obj;  

 

이 의미는 obj는 Record 객체를  인자로 받은 매개 변수이기 때문에 그 안에는

Record 객체의 정보가 들어있을 것입니다.

그러나

오브젝트는 최상의 계층 클래스이고 모든 클래스가 Object의 상속을 받기때문에

object 에 있는 정보를 얻어야 할경우 그정보가 어떤것인지 캐스팅 을 해주어야합니다.

 

Record book = (Record)obj;  

 

즉 이것은 Record book = new Record book();

 

과 같은 역할을 하는것으로 Record book 객체를 만들때 오브젝트 내에있는 Record의 정보를

담겟다는 말입니다.

 

그리고 strBook 은 클래스인이 스트링(제가 생각하기에는 문자열같습니다);

equals 는 Object 클래스 안에 있는 기능  중하나입니다( 아까 Object는 최상위 개층 클래스이고

모든 클랙스가 상속받는다고 말씀드렸죠?)

 

그러니까 당연히 문자열이나 클래스에서 . 만찍으면 equals 기능을쓸수있습니다..

(이말이 이해가 안되시면 상속부분이나 Object 클래스부분을 책에서 보시기바랍니다)

 

 if(strBook.equals(book.getBook()))    return true;
  return false;
 }

 

strBook 에있는 값과 book.getBook 이 서로 같은 경우 true 타입을 리턴해주라는 얘기입니다.

 

한마디로 strBook == book.getBook 이랑 같은 말입니다.

 

그러나 클래스일경우 (String 은 문자열이지만 엄연한 클래스의 한부분입니다)

같다의 표현을 쓸 경우 equals 를 씁니다 외냐면 클래스의 경우 메모리에 생성되는 위치가

다르기때문에 그냥 == 해버리면 주소값이 가지는 값이 다르기때문에 false 처리해버립니다.

equals 도 그냥 == 과 같은 기능이지만 저부분을 해결해준답니다.

 

그리고


 if(strBook.equals(book.getBook()))   

return true;
  return false;
 

에서 이프문에서 가로가 없지요??  시작과 끝이 없지요? {} 는 시작과 끝을 나타냅니다..

 if(strBook.equals(book.getBook()))  { 

return true;
  return false;

}

 

썻다면 리턴을 true와 false 두개 다했겟지만 지금은 위와 같이 가로가없습니다..

 

if 문에서 가로가 없이 조건밑에 바로  수행문이 써진다면

이프문 바로 밑 즉 return true 만 실행하면 밑에 있는 return false 는 작동하지 않습니다..

오ㅐ냐? 이프문은 조건은 만족하는 식만을 수행하며 그 밑에 시행코딩이없으면 종료됩니다.

즉 if 문이 동작하지 않을때에만 return false 가 움직이지요..

 

질문을 올리신거보니 제어문이나 기본적이 상속부분을 잘 모르시는거 같은데 책을 보시기 바랍니다 ^^

자바 명령어 질문입니다!!(급!!)

... 자바 고수님들의 가급적 빠른 질문 부탁 드립니다. public boolean equals(Object obj) { Record book = (Record)obj; if(strBook.equals(book.getBook())) return true; return false; }...

)자바 이클립스 관련 질문

... 내공100 소스파일이라면 .java 파일 즉 텍스트 파일이고 컴파일한 파일이라면 .class 파일 즉 javac 명령어로 만든 파일이 되겠지요. 그러나 이클립스를 썼으므로 class로...

적용 방법과 캐릭터 의상 질문 (1.19.2)

... 질문자님이 원하시는 거는 모두 자바에디션에만 존재하는 기능입니다. 그러니까... 예를 들자면 유튜버 김베포님) 6.유튜브에 나오는 장치, 명령어 강의는 자바에디션이 더...

[] 마인크래프트 시드 관련 질문

... (PC 자바 & 베드락 아님..!) PC 버전 포함 유튜브에 보면 광활한 대지의 아름다운 마을과... 해당 명령어가 올바르지 못하며, 질문자님이 월드의 설정에서 치트를 허용으로하는...

마인크래프트 1.13.2 질문합니다

... 마인크래프트 초기화 (PC버전 자바에디션 기준) ( pe 버전, 윈10에디션은 1:1질문하기... # 윈도우 7/8/10 이라면 윈도우키 + R 을 누르면 명령어 입력창이 나옵니다....

)자바,이틀립스관련 질문

명령어중에 이전까지 출력했던 내용을 모두 지우는 명령어가 있나요? 있다면 예시까지 보여주시면 감사드리겠습니다. 내공150 cmd 콘솔창에 출력된 내용을 지우는 방법을...

기계과 코딩, 플밍 언어 공부 질문

... 질문 기계과 다니는 1학년입니다 정확히는 기계자동차공학과에 다닙니다 최근에 프로그래밍 언어와 코딩에 ... 그리고 프로그램은 데이터와 명령어로 구성 되어 있구요...

OCP 시험을 보려하는데요

... 질문에 답변을 드리도록 하겠습니다.. 데이터베이스를 공부를 하실때 데이터베이스 관리시스템인 명령어만... 유닉스나 자바 언어를 보완하시면 님께서 원하시는...

데이터베이스의 개념을 아직 잘...

... 지식인에 질문 드려 봅니다. 컴퓨터공학과 전공자나... 관리시스템인 명령어만 익히시는거보다는 데이터... 유닉스나 자바 언어를 보완하시면 님께서 원하시는 필드에서...