πŸ’»μ •λ³΄ 은닉(22.12.09 μžλ°”μˆ˜μ—…)

λ¦¬μ•ˆπŸ€Β·2023λ…„ 1μ›” 2일

μžλ°”κ³΅λΆ€κΈ°λ‘

λͺ©λ‘ 보기
16/21
post-thumbnail

πŸ“Œ 정보 은닉

  • public λ³€μˆ˜/λ©”μ„œλ“œ -> μ™ΈλΆ€ 클래슀 μ ‘κ·Ό κ°€λŠ₯
  • private λ³€μˆ˜/λ©”μ„œλ“œ -> μ™ΈλΆ€ 클래슀 μ ‘κ·Ό λΆˆκ°€
  • protected λ³€μˆ˜/λ©”μ„œλ“œ -> 상속관계 클래슀 μ ‘κ·Όκ°€λŠ₯
    => λ³€μˆ˜λ‚˜ λ©”μ„œλ“œλ₯Ό private둜 μ„ μ–Έν•΄μ„œ μ™ΈλΆ€μ—μ„œ μ ‘κ·Όν•˜μ§€ λͺ»ν•˜λ„둝 ν•˜λŠ” 것을 객체지ν–₯μ—μ„œ '정보은닉'이라고 ν•œλ‹€. private둜 μ •μ˜ν•œ λ³€μˆ˜λ₯Ό μ™ΈλΆ€ ν΄λž˜μŠ€μ—μ„œ μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„œ get(), set() λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ—¬μ•Ό 함
  • get() -> 값을 μ–»λŠ” λ©”μ„œλ“œ
    set() -> 값을 μ§€μ •ν•˜λŠ” λ©”μ„œλ“œ
  • get, set λ©”μ„œλ“œ μžλ™ 생성 단좕킀
    -> alt+shif+s => r

πŸ“Œμ •λ³΄μ€λ‹‰μ„ μ‚¬μš©ν•œ ν΄λž˜μŠ€μ™€ 좜λ ₯ λ©”μ„œλ“œ λ§Œλ“€κΈ°

  • Student 클래슀 생성
  • λ©€λ²„λ³€μˆ˜ : int num, String name, int html, int java, int db
  • private둜 μ„ μ–Έ

1. Student 클래슀 λ§Œλ“€κΈ°

	public class Student {
		private int num;
		private String name;
		private int html;
		private int java;
		private int db;
	
   		// set λ©”μ„œλ“œ - 값을 μ €μž₯ν•˜λŠ” λ©”μ„œλ“œ
		public void set(int num, String name, int html, int java, int db) {
			this.num=num;
			this.name=name;
			this.html=html;
			this.java=java;
			this.db=db;
		// this λ©”μ„œλ“œ - μƒμ„±λœ μΈμŠ€ν„΄μŠ€ 슀슀둜λ₯Ό 가리킴
		}
	
		public void setNum(int num) {
			this.num=num;
		}
		public void setName(String name) {
			this.name=name;	
		}
		public void setHtml(int html) {
			this.html=html;
		}
		public void setJava(int java) {
			this.java=java;
		}
		public void setDb(int db) {
			this.db=db;
		}
	
		// get - λ©€λ²„λ³€μˆ˜μ—μ„œ 값을 κ°€μ Έμ˜€λŠ” λ©”μ„œλ“œ
		// 리턴값이 무쑰건 ν•˜λ‚˜, μ—¬λŸ¬κ°œ κ°’ 리턴 λͺ»ν•¨
		public int getNum() {
			return this.num;
		}
		public String getName() {
			return this.name;
		}
		public int getHtml() {
			return this.html;
		}
		public int getJava() {
			return this.java;
		}
		public int getDb() {
			return this.db;
		}
		
		public int sum() {
			return html+java+db;
		}
		public double avg() {
			return ((html+java+db)/3.0);
		}

}


2. μ‹€ν–‰ 클래슀 λ§Œλ“€κΈ°
(1)

		Student s=new Student();
		s.set(1, "홍길동", 90, 80, 70);

		
		// 좜λ ₯
		System.out.println("학생 번호 : "+s.getNum());
		System.out.println("학생 이름 : "+s.getName());
		System.out.println("Html 점수 : "+s.getHtml());
		System.out.println("Java 점수 : "+s.getJava());
		System.out.println("Db 점수 : "+s.getDb());

(2)

		Student s=new Student();
		s.setNum(2);  
		s.setName("김길동");  
		s.setHtml(90);  
		s.setJava(90);  
		s.setDb(80);

		// 좜λ ₯
		System.out.println("학생 번호 : "+s.getNum());
		System.out.println("학생 이름 : "+s.getName());
		System.out.println("Html 점수 : "+s.getHtml());
		System.out.println("Java 점수 : "+s.getJava());
		System.out.println("Db 점수 : "+s.getDb());
		System.out.println("점수 합계 : "+s.sum());
		System.out.println("점수 평균 : "+s.avg());


  • Car 클래슀 생성
  • λ©€λ²„λ³€μˆ˜ : String carname, int speed
  • private둜 μ„ μ–Έ
  • λ©”μ„œλ“œ 리턴할 ν˜•int speedUp(10) speed 10μ¦κ°€ν•˜κ³  리턴
  • λ©”μ„œλ“œ 리턴할 ν˜•int speedDown(5) speed 5κ°μ†Œν•˜κ³  리턴

1. Car 클래슀 λ§Œλ“€κΈ°

	public class Car {
		private String carname;
		private int speed;
	
		// get, set λ©”μ„œλ“œ
		public String getCarname() {
			return carname;
		}
		public void setCarname(String carname) {
			this.carname = carname;
		}
		public int getSpeed() {
			return speed;
		}
		public void setSpeed(int speed) {
			this.speed = speed;
		}
	
		// μŠ€ν”Όλ“œ 증가, κ°μ†Œ λ©”μ„œλ“œ
		public int speedUp(int s) {
			speed=speed+s;
			return speed;
		}
		public int speedDown(int d) {
			speed=speed-d;
			return speed;
		}

	}

2. μ‹€ν–‰ 클래슀 λ§Œλ“€κΈ°

	public static void main(String[] args) {
		Car c=new Car();
		c.setCarname("κ·Έλžœμ €");
		c.setSpeed(120);
		
		System.out.println("μ°¨ 이름 : "+c.getCarname());
		System.out.println("속도 : "+c.getSpeed());
		
		System.out.println(c.speedUp(10));
		System.out.println(c.speedDown(5));
	}


  • MyDate 클래슀 λ§Œλ“€κΈ°
  • λ©€λ²„λ³€μˆ˜ : String name, int year, int month, int day
  • private λ©€λ²„λ³€μˆ˜ 정보 은닉

1. MyDate 클래슀 λ§Œλ“€κΈ°

	public class MyDate {
	
		private String name;
		private int year;
		private int month;
		private int day;
	
		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		public int getYear() {
			return year;
		}
		public void setYear(int year) {
			this.year = year;
		}
		public int getMonth() {
			return month;
		}
		public void setMonth(int month) {
			this.month = month;
		}
		public int getDay() {
			return day;
		}
		public void setDay(int day) {
			this.day = day;
		}
		
	}

2. μ‹€ν–‰ 클래슀 λ§Œλ“€κΈ°

	public static void main(String[] args) {
		MyDate md=new MyDate();
		md.setName("홍길동");
		md.setYear(2002);
		md.setMonth(8);
		md.setDay(1);
		
		System.out.println("이름 : "+md.getName());
		System.out.println("λ…„ : "+md.getYear());
		System.out.println("μ›” : "+md.getMonth());
		System.out.println("일 : "+md.getDay());
	}

0개의 λŒ“κΈ€