총 게시물 38,892건, 최근 0 건 안내 RSS 글쓰기
이전글  다음글  목록 글쓰기
[안드로이드]

상속 받는 클래스에 따라 메소드를 사용 못하게 막을 수 있나요?

글쓴이 : adbb 날짜 : 2017-10-12 (목) 15:16 조회 : 1074
글주소 : http://www.androidside.com/B49/168517
 
  두피탈모 선두주자 WT메소드
SINCE 1998, 탈모가 걱정이시면 망설이지마시고 오세요, 1회관리65%할인.
www.wt-methode.co.kr
  올리브영 공식몰 메소드
온라인단독 역대급 혜택! 오늘의 특가, 세일, HOT신상템까지, 뷰덕코덕 집합!
www.oliveyoung.co.kr/
  메소드 롯데마트
신규회원이라면 메소드 최대 3만원 할인!
www.lottemart.com
신청하기


안드로이드, 자바 그리고 다양한 질문에 대해 성실히 답해드립니다. Q&A Jang

특정 클래스를 범용적으로 만들고 상속 받는 클래스에 따라 필요한 메소드나 변수만 사용 제한을 두려고 합니다.

해당 코드는 소스 단계에서 lint 처럼 줄을 긋거나,
뭔가 자동으로 표시되게 할 수 있는 방법이 있는 지 알고 싶은 부분입니다.
(실행 후 동작하는 게 아닙니다.)

소스로 설명을 드리면,

class Weapone {
  public void swing() { abc... }

  public void shoot() { abc... }
}

class Stick extends Weapone {}

class Gun extends Weapone {}

Stick.swing(); // 가능
Stick.shoot(); // 제한(불가/경고) - 밑줄 또는 색상 표시

Gun.swing(); // 제한(불가/경고) - 밑줄 또는 색상 표시
Gun.shoot(); // 가능

이런식으로 같은 클래스를 상속 받아서 쓰고 있지만,
클래스에 따라 제한 표시를 할 수 있는 방법이 있는 지 알고 싶습니다.

툴은 안드로이드 스튜디오 사용 중 입니다.

감사합니다.



질문자가 자신의 포인트 5 점을 걸었습니다.
답변하시면 포인트 2을, 답변이 채택되면 포인트 4을 드립니다.

질문답변 게시판에서 궁금한 사항을 해결하셨다면, 애써 답변해주신 분께 잘 되었다고 따뜻한 댓글 한마디 남겨주세요.
그리고 답변해주신 분의 글을 '추천' 해주세요.
추천받으신 분에게 1포인트가, 추천하신 분에게도 1포인트가 적립됩니다. ^^

안사드 2017-10-12 (목) 15:50
제한자 사용하면되지 않나요? 동일하게 상속받은것은 제한못할텐데요.
댓글주소 추천 0 반대 0
     
     
adbb 2017-10-13 (금) 00:11
[@안사드] 동일하게 받은 것은 아무래도 하기 힘든가 보군요.. 답변 감사드립니다!
댓글주소 추천 0 반대 0
OSKiller 2017-10-12 (목) 16:06
반대죠
수퍼클래스는 가장 기본적인것 모든 자식 클래스에서 다 쓸수 있는것만 가지고 있어야 하고
자식클래스마다 특성으로 가지는것은 인터페이스로 만들어서 구현 하거나
자신이 직접 구현 하여야 하는거죠

예를 들어 Weapone이면 attack 만 있고
Gun extends Weapone은 relload를 
추가 하는게 맞는거죠
위에서 말씀 하신swing, shoot은
Stick 의 attack부분에 swing
Gun 의 attack부분에 shoot를 구현 하는게 
맞는 맞다고 생각 합니다

댓글주소 추천 0 반대 0
     
     
adbb 2017-10-13 (금) 00:12
[@OSKiller] 답변 감사합니다
댓글주소 추천 0 반대 0
뉴키 2017-10-12 (목) 17:57
Weapone 의 e가 신경쓰이는 1인..
댓글주소 추천 0 반대 0
     
     
adbb 2017-10-13 (금) 00:12
[@뉴키] 엇, 이게 치다보니 그렇게 됐군요 ㅋㅋ 조심해서 써야겠어요 말씀 감사드려요!
댓글주소 추천 0 반대 0
이전글  다음글  목록 글쓰기

 


Copyright ⓒ www.androidside.com. All rights reserved.
채팅 권한: 글쓰기 1개
2레벨 이상만 대화 가능
공개 채팅: 평일 !(9시 ~ 17시),토,일
안사2 변경사항 보러가기 챗방이 잘 안보이면 크롬에서 접속해주세요
챗방 숨기기 |  챗방 보이기