Java(Class&Method)_Class_10

2024. 10. 29. 17:12·Java/기초 내용 정리

2024-10-29

 

 

 

 

 

num1 >>> 200
num2 >>> 100

 

package classes;

/*
 *  ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
 *  ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
 *  캡술화(Encapsulation)?
 *  - 객체지향 프로그램 4대 특징 중 하나.
 *  - 데이터를 감추기. 데이터를 외부에서 함부로 변경하지 못하도록
 *    외부의 접근을 제한하는 방법.
 *  - 객체를 캡슐로 싸서 내부를 볼 수 없게 하는 것으로 객체의
 *    가장 본질적인 특성임.
 *  - 예를 든다면 캡슐약을 생각하면 쉬움. 캡슐에 든 약은 약이 어떤
 *    색인지, 어떤 성분인지 보이지 않으며, 외부의 접근으로부터 안전함.
 *    또한 TV에 케이스가 없다면 외부의 접촉으로부터 보호 할 수 없게
 *    됨. 사람이 피부나 근육으로 캡슐화 되어 있지 않으면 혈관, 장기,
 *    뇌 등이 노출이 되어 위험한 일이 발생하게 됨.
 *  - 객체는 캡슐화가 기본 원칙이지만 외부와의 접속을 위해 몇몇 일부
 *    만 공개 노출하게 됨.
 *  - TV는 내부를 캡슐화하고 on/off 버튼, 밝기조절 버튼, 채널 버튼,
 *    음량 버튼 등 리모컨과 통신하는 부분은 노출을 시킴.
 *  - 정보 은닉 : 클래스의 멤버 접근 제어 기법.
 *    * private : 외부에서 접근차단
 *    * public : 누구나 접근가능
 *  - private 멤버를 노출을 시키는 방법
 *    * setter() / getter() 메서드로 접근 시킴
 *    
 *    ==> setter() : - 지정자 메서드
 *    				 - 멤버변수에 변경할 값을 전달 받아서
 *    				   멤버변수에 값을 변경하는 메서드.
 *    ==> getter() : - 획득자 메서드
 *    				 - 멥버변수의 값을 읽어 와서 호출한
 *    				   곳으로 읽은 값을 넘겨주는 메서드.
 *  ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
 *  ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
 */

public class Number {
	
	//  멤버변수
	private int num1;
	private int num2;
	
	public int getNum1() {
		return num1;
	}
	
	public void setNum1(int num1) {
		this.num1 = num1;
	}
	
	public int getNum2() {
		return num2;
	}
	
	public void setNum2(int num2) {
		this.num2 = num2;
	}
	
	/*
	 *  setter() 메서드로 멤버변수에 초기값을 설정.
	 *  - private 멤버변수에 값을 지정하는 역할을 하는 메서드.
	 *  
	 *    형식)
	 *    		public void set멤버면수명(자료형 매개변수) {
	 *    			멤버변수 = 매개변수;
	 *    		}
	 */
	
	//public void setNum1(int n1) {
	//	num1 = n1;
	//}

	//public void setNum2(int n2) {
	//	num2 = n2;
	//}

	/*
	 * 	getter() 메서드로 멤버변수에 할당된 값을 가져오는 메서드
	 *  - private 멤버변수에 저장된 값을 가져오는 역할을 하는 메서드.
	 *  
	 *  형식)
	 *  		public 멤버변수자료형(반환형) get멤버변수명() {
	 *  				return 멤버변수명;
	 *  		}
	 */
	
	//public int getNum1() {
		
	//	return num1;
	//}
	
	//public int getNum2() {
		
	//	return num2;
	//}
}

 

package classes;

public class Number_10 {
	
	public static void main(String[] args) {
		
		Number number = new Number();
		
		//  직접적인 접근이 안됨 - private 접근지정자 때문
		//  number.num1 = 100;
		
		number.setNum1(200);
		number.setNum2(100);
		
		System.out.println("num1 >>> " +  number.getNum1());
		System.out.println("num2 >>> " +  number.getNum2());
	}

}

'Java > 기초 내용 정리' 카테고리의 다른 글

Java(Class&Method)_Exam_02  (0) 2024.10.29
Java(Class&Method)_Class_11  (0) 2024.10.29
Java(Class&Method)_Class_09  (0) 2024.10.29
Java(Class&Method)_Class_08  (0) 2024.10.28
Java(Class&Method)_Class_07  (0) 2024.10.28
'Java/기초 내용 정리' 카테고리의 다른 글
  • Java(Class&Method)_Exam_02
  • Java(Class&Method)_Class_11
  • Java(Class&Method)_Class_09
  • Java(Class&Method)_Class_08
mw41817
mw41817
일생의 개발 기록 저장소
  • mw41817
    IT 개발 일지
    mw41817
    • Index (487)
      • HTML (36)
        • 기초 내용 정리 (36)
      • CSS (29)
        • 기초 내용 정리 (29)
      • JavaScript (60)
        • 기초 내용 정리 (60)
      • JQuery (38)
        • 기초 내용 정리 (38)
      • Java (232)
        • 기초 내용 정리 (232)
      • JSP (46)
        • 기초 내용 정리 (46)
      • Spring, Boot (31)
        • 기초 내용 정리 (31)
      • DB (5)
        • Oracle SQL (5)
      • Code WorkBook (6)
        • programmers (6)
        • Baekjoon (0)
      • 기타 (1)
        • 유용한 사이트 (3)
  • 전체
    오늘
    어제
  • 글쓰기 관리
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 카테고리
    • 주인장 GitHub
  • 공지사항

  • 인기 글

  • 태그

    html #코딩 #프로그래밍 #기초
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
mw41817
Java(Class&Method)_Class_10
상단으로

티스토리툴바