Java 상속 예제 질문

조회수 627회

이미지

MemberManger에서

ArrayList<Member> members = new ArrayList<Member>();

이렇게 Member타입의 members를 불러왔고

members.add(new PeriodMember(name, csday, ceday, 1000)); 
members.add(new CouponMember(name, coupon));

이렇게 추가를 했습니다.

그런데 SignCotrol 에서

import java.util.Scanner;

public class SignControl {
    Scanner in = new Scanner(System.in);
    MemberManager manager = new MemberManager();

    public void signin() {

        System.out.print("회원 명 : ");
        String name = in.next();

        System.out.print(manager.find(name).name);
    }
}

이렇게 코드를 치면 null 값이 나오네요..

find 메소드는 이렇게 정의했습니다.

public Member find(String name) {
        for (int i=0; i<members.size(); i++) {
            if (members.get(i).name.equals(name)) {
                return members.get(i);
            }
            else {
                System.out.print(name + "회원을 찾지 못하였습니다.\n");
            }
        }
        return null;
    }

SignControl 에서 MemberManger 타입의 변수를 불러왔을 때 MemberManger에서 arraylist로 만들었던 그대로의 값을 불러올 수 있는지, 가능하다면 어떻게 불러와야하는지 도와주세요

참고로 Member는 추상 클래스입니다

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)