FIF's 코딩팩토리

자바 기초 NCS교육과정(17)-접근제어자 문제풀이 본문

Back-End/국비 NCS교과과정

자바 기초 NCS교육과정(17)-접근제어자 문제풀이

FIF 2019. 7. 30. 11:13
반응형

이번 시간은 문제풀이 시간 입니다.

코드를 바로 보지 마시고, 충분한 시간을 가지고 고민해 보세요!

생각하는 시간이 많을수록 실력은 향상됩니다.

 

 

 

 

 

Question 1) 이번 문제는 Prob01_class.java 와 Employee.java를 사용하여 문제를 풉니다.

이름은 이순신이고 개발부에 근무하며 급여는 1500000원 입사성적은 85.75입니다

사원이름 : 진달래
근무부서 : 경리부
받는급여 : 1200000원
입사점수 : 75.34점

 

아래의 메소드, 접근제어자, 변수명을 사용하여 Employee.java를 코딩하세요!

 -(private)    + (public)    #(protected)     X : default

  
  -name:String                    
  -dept:String 
  -pay:int
  -score:double
   
  +setName(name:String):void
  +setDept(dept:String):void
  +setPay(pay:int):void
  +setScore(score:double):void
  +getName():String
  +getDept():String
  +getPay():int
  +getScore():double
  +setEmployee(name:String, dept:String, pay:int, score:double)
  +toString():String 
 

 

 

 

 

 

 

 

 

 

 

Answer 1)Prob01_class.java

public class Prob01_class {
	public static void main(String[] args) {
		Employee em = new Employee();
		em.setName("이순신");
		em.setDept("개발부");
		em.setPay(1500000);
		em.setScore(85.75);
		System.out.println(em.toString());

		em.setEmployee("진달래", "경리부", 1200000, 75.34);
		System.out.println("사원이름:" + em.getName());
		System.out.println("근무부서:" + em.getDept());
		System.out.println("받는급여:" + em.getPay() + "원");
		System.out.println("입사점수:" + em.getScore() + "점");
	}
}

 

Employee.java

 

public class Employee {
	private String name;
	private String dept;
	private int pay;
	private double score;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getDept() {
		return dept;
	}
	public void setDept(String dept) {
		this.dept = dept;
	}
	public int getPay() {
		return pay;
	}
	public void setPay(int pay) {
		this.pay = pay;
	}
	public double getScore() {
		return score;
	}
	public void setScore(double score) {
		this.score = score;
	}
	

	@Override
	public String toString() {
		return "이름은 " + name + "이고 " + dept + "에 근무하며 급여는 "
				  + pay + "원 입사성적은 " + score + "입니다";
	}
	
	
	public void setEmployee(String name, String dept, int pay, double score){
		this.name=name;
		this.dept=dept;
		this.pay=pay;
		this.score=score;
	}	
}

출력결과

 

 

 

Question 2) 아래의 메소드, 접근제어자, 변수명을 사용하여 코딩하세요!

   클래스명 : Sales

    -item:String

    -qty:int
    -cost:int
     
    +setItem(item String):void
    +setQty(qty int):void
    +setCost(cost int):void
    +getItem():String
    +getQty():int
    +getCost():int
    +toString():String         ==> 출력
    +getPrice():int             ==> 수량 * 단가를 리턴
 

 

아래의 출력결과가 나오면 됩니다.

이름은 이순신이고 개발부에 근무하며 급여는 1500000원 입사성적은 85.75입니다

사원이름:진달래

근무부서:경리부
받는급여:1200000원
입사점수:75.34점

 

 

 

 

 

 

 

 

 

 

 

 

 

Answer 2) Prob02_class.java

class Sales {
	private String item;
	private int qty;
	private int cost;

	public String getItem() {
		return item;
	}

	public void setItem(String item) {
		this.item = item;
	}

	public int getQty() {
		return qty;
	}

	public void setQty(int qty) {
		this.qty = qty;
	}

	public int getCost() {
		return cost;
	}

	public void setCost(int cost) {
		this.cost = cost;
	}

	@Override
	public String toString() {
		return "품목 : " + item + "\n수량 : " + qty + "개\n단가 : " + cost + "원\n금액 : " + getPrice() + "원";
	}

	public int getPrice() {
		return qty * cost;
	}
}

public class Prob02_class {
	public static void main(String[] args) {
		Sales ss = new Sales();
		ss.setItem("apple");
		ss.setQty(5);
		ss.setCost(1200);

		System.out.println(ss.toString());
		System.out.println(
				ss.getItem() + "  " + ss.getCost() + "원짜리 " + ss.getQty() + "개 구입하면 " + ss.getPrice() + "원이 필요함");
	}
}

 

출력결과

 

반응형
Comments