1. 샘플 코드로 알아보겠습니다.

		DateFormat df = new SimpleDateFormat("yyyyMMdd");
		Date date = null;
		try {
			date = df.parse("20180501");
		} catch (ParseException e) {
			e.printStackTrace();
		}
		System.out.println(date);
		Calendar cal = Calendar.getInstance();
		cal.setTime(date);
		System.out.println(cal);
		System.out.println(cal.getTime());
		cal.add(Calendar.DATE,50);
		System.out.println(cal);
		System.out.println(cal.getTime());
		String dateStr = df.format(cal.getTime());
		System.out.println(dateStr);

2. 실행 결과

Tue May 01 00:00:00 KST 2018
java.util.GregorianCalendar[time=1525100400000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=22,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2018,MONTH=4,WEEK_OF_YEAR=18,WEEK_OF_MONTH=1,DAY_OF_MONTH=1,DAY_OF_YEAR=121,DAY_OF_WEEK=3,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=32400000,DST_OFFSET=0]
Tue May 01 00:00:00 KST 2018
java.util.GregorianCalendar[time=1529420400000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Seoul",offset=32400000,dstSavings=0,useDaylight=false,transitions=22,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2018,MONTH=5,WEEK_OF_YEAR=25,WEEK_OF_MONTH=4,DAY_OF_MONTH=20,DAY_OF_YEAR=171,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=3,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=32400000,DST_OFFSET=0]
Wed Jun 20 00:00:00 KST 2018
20180620