자바빈(bean)

DeokHun KIM·2022년 7월 13일
0

java

목록 보기
17/30
  • 캡슐화(Encapsulation) - 정보은닉(Information Hiding)
    -사용자의 편의와 안정성을 위해 숨길 것은 숨기고, 공개할 것은 공개
    -주로 속성은 숨기고 속성에 접근시 메소드(기능)를 통해 접근 처리

  • 자바빈(Java Bean) : 데이터를 저장하고 접근을 제어하여 데이터 관리
    -멤버변수(property)의 접근제한자는 private으로 선언
    -멤버변수(property)마다 get/set 메소드 제공(선택적으로 get만 제공)
    -get/set 메소드는 public 으로 선언
    -get 메소드는 파라미터 없고, set 메소드는 하나 이상의 파라미터 존재
    -멤버변수(property)가 boolean 타입이면 get 메소드 대신 is 메소드 사용가능
    -외부에서 멤버변수(property) 접근시에는 get/set 메소드를 통해 접근

package com.mystudy.bean;
/*
자바빈(Java Bean) : 데이터를 저장하고 접근을 제어하여 데이터 관리
-멤버변수(property)의 접근제한자는 private으로 선언
-멤버변수(property)마다 get/set 메소드 제공(선택적으로 get만 제공)
-get/set 메소드는 public 으로 선언
-get 메소드는 파라미터 없고, set 메소드는 하나 이상의 파라미터 존재
-멤버변수(property)가 boolean 타입이면 get 메소드 대신 is 메소드 사용가능
-외부에서 멤버변수(property) 접근시에는 get/set 메소드를 통해 접근
 */
public class Student {
	private String name;  //다이렉트로 접근해서 쓸 수 없도록 프라이빗 선언, 외부에서 접근 불가
	private int kor;
	private int eng;
	private int math;
	private int tot;
	private double avg;
	
	
	//외부에서 접근(사용)할 수 있도록 메소드 제공(public)
	//명칭 : set메소드, setter, set property
	public void setName(String name) {   //데이터를 받고
		this.name = name;  //필드에 설정
	}
	
	//명칭 : get메소드, getter, get property
	public String getName() {  //get" " 값을 주고
		return name;  //리턴해주면 된다
	}
	
	//kor에 set메소드
	public void setKor(int kor) {
		this.kor = kor;
	}
	//kor에 get메소드
	public int getKor() {
		return kor;
	}
	
	//english
	public void setEng(int eng) {
		this.eng = eng;
	}
	public int getEng() {
		return eng;
	}
	
	//math
	public void setMath(int math) {
		this.math = math;
	}
	public int getMath() {
		return math;
	}
	
	//total
	public void setTot() {
		this.tot = kor + eng + math;
	}
	public int getTot() {
		return tot;
	}
		
	//average
	public void setAvg() {
		this.avg = tot * 100 / 3 / 100.0;
	}
	public double getAvg() {
		return avg;
	}

}
public class StudentMain

public static void main(String[] args) {
		Student stu = new Student();
		//stu.name = "홍길동"; //private 선언이 안되어 있을때는 쓸 수 있지만 선언이 되어있다면 쓸 수 없다
		//System.out.println(stu.name);
		stu.setName("홍길동");
		System.out.println(stu.getName());

		stu.setKor(95);
		System.out.println("국어 : " + stu.getKor());
		
		stu.setEng(83);
		System.out.println("영어 : " + stu.getEng());
		
		stu.setMath(71);
		System.out.println("수학 : " + stu.getMath());
		
		stu.setTot();
		System.out.println("총합 : " + stu.getTot());
		
		stu.setAvg();
		System.out.println("평균 : " + stu.getAvg());
	}

}

홍길동
국어 : 95
영어 : 83
수학 : 71
총합 : 249
평균 : 83.0

0개의 댓글