java 기본문법 질문좀 드립니다.

java 기본문법 질문좀 드립니다.

QA

java 기본문법 질문좀 드립니다.

답변 1

본문

interface UserRepository{

   void register(User user);  // 여기는 int string boolean 이 오는자리아닌가요? 저 User 뜻을 모르겠습니다.

   User findBy(UserNumber userNumber); // 여기도 마찬가지로 User 가 왜오는지 모르겠습니다.

}

 

class UserService{

   UserRepository repository; // 여기서 종속대상을 인터페이스로 만든다고하는데 무슨말인지 모르겠습니다.

}

 

혹시 위에 3가지 설명해주실수 있는분 있으실까요?ㅠㅠ

이 질문에 댓글 쓰기 :

답변 1

자바에서는 string이 단순 자료형이 아니라 하나의 객체라서 첫 알파벳 문자가 대문자인

String입니다. 이런 맥란에서 보았을때 메소드의 인자 값은 자료형 뿐만 아니라 개체도 넣을수 있다는 것이죠.

User라는 개체만 인자값을 받겠다 이거입니다.

 

findBy의 메소드를 구현할때 User 개체의 반환형으로 만들어라 뜻 입니다.

 

인터페이스에서 추상적으로 선언한 메소드에 대해서는 반드시 구현을 해야합니다.

그래서 위 설명에 주신 UserRepository implements하셔서 그에 맞게 구현을 하시면됩니다.

 

아무래도, 인터페이스를 왜 사용을 하시는지 정확한 이해가 필요해보입니다.

 

개발을 하기에 앞서 설계나, 표준적인 규격 대략적인 아우트라인을 그려야합니다.

인터페이스에서 규격을 해놓아도 객체의 구현은 성질이 다를 수 있는데 그것이 다형성이라고 합니다.

 

예를 들어 인터페이스에서 싸우다라는 메소드를 만들면 호랑이라는 객체가 구현한 싸우다 메소드와

사람이라는 객체의 싸우다 메소드의 기능은 다르게 구현을 해야합니다. 이것이 다형성이라고 합니다.

 

객체지향은 코딩적으로 접근을 하시기 보다는 개념적으로 접근을 하시는것이 좋으며,

처음에 이해가 안가신다고 해서 스트래스 받을 필요는 없습니다. 무조건 개발 많이 해보시고

하다보면 저절로 이해가 가실겁니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #java ×
전체 100
© SIRSOFT
현재 페이지 제일 처음으로