수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

수다님들~~ 인터페이스관련 문젠데 도와주세욤 ㅠㅠ

가장

2023.04.01

public class main{
public static void main(String args[]){

inter obj = new Rectangle(15.0, 10.0);
obj.aaa();

System.out.println(obj.area());

obj = new Circle(15.0);
obj.aaa();

System.out.println(obj.area());

}

}
위에있는 것은 메인 클래스입니다. inter은 인터페이스이고 obj는 객체겠종
Rectangles는 클래스로써 사각형의 넓이는 계산하는 클래스이고
Circle 클래스는 원의 넓이는 계산하는 클래스입니다.
그런데~ 문제는 요구사항에 도형클래스를 따로 생성하고 이 도형클래스의 생성자에 도형의
넓이를 구하는 정보를 인자로 받아서 맴버변수에 저장하라
이부분이 해결이 안되네욤; 생성자로 인자를 받자니 Rectangles는 두개의 더블형이고
Circle은 한개의 더블형이고 이걸 객체개념으로 받아야 하나요;;;?
aaa는 도형클래스 안에있는 입력된 수를 문자열로 출력하는 기능을 가진 메소드구욤
area는 역시 도형 클래스 안에있는 메소드로써 값을 계산해주는 역할을 하고있습니다.
인터페이스로 이두개의 메소드를 도형 클래스에 구현해주고 Rectangles와 Circle클래스도 만들어 놓기까진
했는데 도형클래스의 생성자에서 넓이를 구하기위한 저 15.0이나 10.0등을 어떻게 적용시켜야될지를 모르겟네욤;;
간략한 소스면 너무 감사하겠고 개념만이라도 짚어주세요~
혹 문제 자체가 이해안되시면 그부분에 대한 점도 올려주세요 ㅠㅠ 이틀째 고민하다고 글올립니다.

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 든솔

    아 그리고 super()는 꼭 생성자에 첫줄에 써야만 됩니다.
    참 그리고 의문점이 있는데요..
    Rectangle하고 Circle 클래스는 하는짓이 뭔가요? 괜히 만들고 하는짓도 없는거 아닌가요?
    전체적인 설계가 없는 문제인가 아니면 전달을 잘못하시는듯 이렇게 돼면 인터페이스 문제도 아닌거 아닌가요?
    그리고 계속 재정의 할거면 뭐하러 도형 클래스에 값을 저장하나요?
    원하고 사각형하고 계산 방식도 틀린데.....여러가지로 의문점만 있네요...

  • 앵겨쪼

    어째튼 설명과 왜 그렇게 해야 하는지 이해가 안가지만요.
    public class shape implements inter {} 하시고 inter의 메소드 재정의하시고
    public class Rectangle extends shape {}
    public class Circle extends shape {} 해서 하라는 건데요.
    shape의 맴버변수에 저장하는건 쉬워요 super()라는 걸 쓰면 상위클래스에 생성자를 호출하거든요
    예를 들면 super(15.

  • 아담

    클래스도 인터페이스의 메소드를 구현하고 Rectangle와 Cirlcle 클래스에서도 동일 메소드를 구현해야
    되지 않나욤? 이 부분만 해결하면 될듯한데 미치겟네요... 이런기분 ㅠㅠ
    될듯될듯 안되는 이런 기분 ㅠㅠ 도와주세욤..

    댓글다신 분들 너무 감사요 ^^

  • 영미

    먼저 답변해주신분들 너무 감사합니다. ^^ 아직 해결은 못했지만 ㅠㅠ 문제에 대한 정의가 필요하겟네욤
    수다님 말대로 인자를 각각의 클래스 생성자 에서 받으면 되겠지만
    이번 문제의 요구사항에 도형클래스 라는 새로운 클래스를
    만들고 그 도형클래스의 생성자에 넓이를 구하기 위한 인자를 각각 받아서 맴버 변수에 저장해야한다. 라고
    하는 부분이 막히네욤 도형 클래스의 생성자에 즉 새로 만든 도형 클래스에
    rectangle(15.0, 10.9)의 인자가 들어가

  • 달빛

    문제 해결의 포인트 :
    inter obj = new Rectangle(15.0, 10.0); -- 이렇게 할수 있다는것은
    Rectangle이 inter로 자동형변환 된다는 것이지요.
    그렇다면 Rectangle은 inter를 상속받아야 한다는 것이지요
    그런데 inter가 인터페이스 이므로 메소드를 모두 재정의 한다. 끝이네요.

  • 바름

    클래스를 각자 만드니 생성자도 따로따로 만들쟎어요..
    아무 상관없을듯 합니다.
    두개의 클래스를 만드시고
    public class Rectangle implements inter {}
    public class Circle implements inter {}
    클래스 안에 inter안에 있는 메소드 모두 재정의 하세요
    물론 생성자는 당연이 만드시는것 아시겟죠?
    그럼 끝이죠
    쉬운문제를 너무 어렵게 생각하셔서 그런듯합니다.
    인터페이스도 클래스라고 생각

  • 어른처럼

    제가 볼때는 인터페이스(inter)를 상속받는 2개의 클래스(Rectangle, Circle) 문제인듯한데요.
    인터페이스 이니 클래스에서 메소드를 모두 재정의 해줘야 겠죠...
    두개 클래스 모두 인터페이스로 부터 상속받았으니 모두 inter 타입으로 만들수있고요.
    이렇게 해서 인터페이스(추상메소드)를 이용한 재정의 문제이군요.
    두개의 클래스만 만드시면 그냥 될듯합니다.

  • 보람

    솔직히 님이 쓴 글이 100% 이해는 안가요... 무슨 질문인지요. 대강 제가 이해 한대로 써봤습니다.

  • 호습다

    문제점을 파악하고
    1. 일단 Rectangles 클래스와 Circle 클래스는 인자를 더블로 못받는다.
    해결책 : Rectangles 을 상속한 MyRectangles 을 만들고 생성자를 오버로딩 한다. Circle 도 마찬가지

    현제 클래스는 public class MyRectangles extends Rectangles{
    //여기엔 오버로딩 생성자 필요
    }

    2. 인터페이스를 만들고 2개의 매서드를 구현해야 한다.
    해결책 : 일단 인터페이스와

  • 연체리

    생성자 오버로딩 문제이군요. 도형클래스의 생성자를 두 개 만들어 놓으면 됩니다.

번호 제 목 글쓴이 날짜
2699380 메뉴가 계단식으로 나타나요.. ㅠ.ㅠ (5) 스릉흔다 2025-06-25
2699354 영문 웹폰트 관련 질문입니다!!! (1) 치킨마루 2025-06-25
2699329 윈도우 미디어 플레이어 URL 질문!!! (1) 제철 2025-06-25
2699296 동영상 배경 질문드려요!!!!!!!!!!!!!! 핫파랑 2025-06-24
2699214 position:fixed 에 대한 질문입니다.. (7) 사이 2025-06-24
2699183 제이쿼리 이미지 슬라이드 위치값 수정 초엘 2025-06-23
2699153 테마[ADORABLE]에서 페이지생성시 하위페이지는 2개밖에 안되나요? 흰여울 2025-06-23
2699129 네이버 블로그 또는 사이트의 글을 불러오기 갤원 2025-06-23
2699070 탭메뉴처럼 셀렉트 박스를 이용해서 내용을 출력할 수 있는 방법이 있을까요. (3) 큰꽃늘 2025-06-22
2699016 인터넷이 안되는 환경에서 validator설치방법 (3) 은송이 2025-06-22
2698988 대체 C++ 6.0 exe 아이콘은 어떻게 넣는건가요? 외국녀 2025-06-22
2698960 음성파일을 embed로 작업했는데..웹 표준코딩으로 변경하려면 어떻게 해야하나요? (1) 잎새 2025-06-21
2698932 메뉴목록 풍선창 만들기 html (2) 하늘이 2025-06-21
2698901 http://www.zeitgeistbot.com/ 이 사이트처럼 움직이는 효과를 무엇이라고 하나요? 누림 2025-06-21
2698876 table width값 크로스브라우징에 대한 문의 (2) 볼수록매력 2025-06-21
2698849 c언어 질문. (3) 아름나 2025-06-20
2698823 setInterval 이벤트 제거 하려면... 가온길 2025-06-20
2698796 이 오류를 이해를 못하겠어요 Addicted 2025-06-20
2698712 IF 문 이 계속 오류가 나요 (2) 옆집오빠야 2025-06-19
2698687 이미지를 클릭하면 그 이미지를 다운받게해주는 방법 질문요 ^^ (미해결) (5) 해지개 2025-06-19
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com