[JAVA] Abstract 예제

2024. 3. 26. 10:49·JAVA
package DAY0326;

import java.util.Scanner;

abstract class Command{
	abstract public void process();
}

class List extends Command{
	@Override
	public void process() {
		System.out.println("데이터 목록을 출력합니다");
	}
}

class Delete extends Command{
	@Override
	public void process() {
		System.out.println("데이터 항목을 삭제합니다");
	}
}

class Insert extends Command{
	@Override
	public void process() {
		System.out.println("데이터를 추가합니다");
	}
}

class Update extends Command{
	@Override
	public void process() {
		System.out.println("데이터를 변경합니다");
	}
}

public class Ex3_Abstract {
	
	public static void process(Command comm) {
		comm.process();
	}
	
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		Command comm;
		
		while(true) {
			System.out.println("=".repeat(40));
			System.out.println("1. 추가 2. 삭제 3. 목록 4. 수정 5. 종료");
			System.out.println("=".repeat(40));
			int num = sc.nextInt();
			if(num == 5) {
				System.out.println("DB 작업을 종료합니다");
				break;
			}
			
			switch(num) {
			case 1:
				comm = new Insert();
				comm.process();
				break;
			case 2:
				comm = new Delete();
				comm.process();
				break;
			case 3:
				comm = new List();
				comm.process();
				break;
			case 4:
				comm = new Update();
				comm.process();
				break;
			default :
				System.out.println("잘못된 입력");
			}
			
			
		}
        
        sc.close();
		
	}

}
저작자표시 (새창열림)

'JAVA' 카테고리의 다른 글

[JAVA] Inner Class와 Outer Class  (0) 2024.03.27
[JAVA] Interface  (0) 2024.03.27
[JAVA] Abstract  (0) 2024.03.26
[JAVA] static  (0) 2024.03.25
[JAVA] Call By Value / Call By Reference  (0) 2024.03.25
'JAVA' 카테고리의 다른 글
  • [JAVA] Inner Class와 Outer Class
  • [JAVA] Interface
  • [JAVA] Abstract
  • [JAVA] static
whkim98
whkim98
꾸준히 내 것으로 만드는 게시글을 작성하자
  • whkim98
    내 일기장
    whkim98
  • 전체
    오늘
    어제
    • 분류 전체보기
      • JAVA
      • JavaScript
        • Node
        • React
      • PYTHON
      • GitHub
      • DJANGO
      • Project
        • Insty
        • ERP
      • Cloud
        • NAVER CLOUD Web DevOps
        • Public
      • 자격증
        • SQLD
        • 정보처리기사
        • ADsP
        • 리눅스마스터
        • AWS
      • 코딩테스트
        • 프로그래머스 Lv0
        • 프로그래머스 Lv1
      • Spring
      • Tools
        • Postman
        • eGov
      • WEB
      • CS
      • DevOps
  • 블로그 메뉴

    • 홈
    • GitHub
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    js
    javascript
    코딩테스트
    정보처리기사
    해시 암호화
    github
    web
    AWS
    Postman
    Tomcat
    html
    코딩
    node
    RDBMS
    SQLD
    jsp
    React
    Cloud
    gitbash
    annotation
    eGov
    Java
    CORS
    프로그래머스
    spring
    코테
    Python
    git
    AdSP
    django
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
whkim98
[JAVA] Abstract 예제
상단으로

티스토리툴바