자바 69) 다형성 문구

hahahoho셍·2021년 5월 15일
0

자바 공부

목록 보기
70/97
package ex08_inher;

import java.util.HashMap;
import java.util.Map;

//부모 클래스
class Thing{
	
}

//노트클래스 (자식)
class Note extends Thing{

	@Override
	public String toString() {
		return "노트";
	}
	
}

//펜 클래스 (자식)
class Pen extends Thing{
	@Override
	public String toString() {
		return "펜";
	}
	
}

//입고 클래스
class Enter {
	//int b;
	//재고 저장용 맵
	Map<String, Integer> m1 = new HashMap<>();
	//입고 메소드
	void ibgo(Thing t, int qty) { 
		System.out.println(t.toString() +" 상품 "+ qty +" 개 입고");
		//System.out.println("현재고" + m1.get(t.toString()));
		Integer stq = m1.get(t.toString());  //기존 재고 조회 (맵이므로 래퍼클래스에 int는 널이 저장 안댐)
		
		if(stq==null) stq = 0;  //재고가 없을경우 초기화
		
		m1.put(t.toString(), stq + qty);  //기존 재고랑 입고 재고랑 합침
		//b += qty;
	}
	//현재고 출력
	void jego (Thing t){
		System.out.println(t.toString() +" 총 재고 "+m1.get(t.toString()));  //투스트링의 노트, 펜을 키로 줌
	}
	
}



public class J20210504_04_Mungu {

	public static void main(String[] args) {
		Note n1 = new Note();
		Pen p1 = new Pen();
		Enter e1 = new Enter();
		
		e1.ibgo(new Note(), 10);  //이렇게 바로도 댐
		e1.ibgo(p1, 10);
		e1.ibgo(p1, 10);
		
		e1.jego(p1);
		e1.jego(n1);
		//System.out.println(e1.b);  //총 입고 수량 내가한거

		
	}

}
profile
그냥 공부 한거 적는 벨로그 하하하핳ㅎ하하하핳하ㅏ

0개의 댓글

관련 채용 정보