본문 바로가기
Backend/JAVA

java - 하나의 package 내, 여러 개의 클래스 내 method 선언하기 2

by YERIEL_염주둥 2020. 3. 3.
728x90

▶ 하나의 패키지내 여러 개의 클래스 내 리턴 없고 입력 있는 메서드를 선언할 수 있다.

▷ 하나의 패키지내 여러 개의 클래스 내 리턴 있고 입력 없는 메서드를 선언할 수 있다.

▶ 하나의 패키지내 여러 개의 클래스 내 리턴 있고 입력 있는 메서드를 선언할 수 있다.

접근지정자 : 매서드와 클래스, 변수 앞에서 붙어서 접근을 지시한다.

종류
1. private : 같은 클래스에서만 접근 가능-> 메서드 앞에 붙으면 서로 다른 클래스에서 접근 불가능
2. protected : 같은 패키지 내에서만 접근 가능
3. (default) : 같은 패키지 내에서만 접근 가능
4. public : 전체 접근가능

 

변수에 private 선언되었을 경우 ; private String uid;
1-1. uid 변수에 어떻게 값을 setting 하쥥? setting 메서드를 선언하면 되지!!
1-2. uid 변수에 어떻게 값을 getting 하지? getting 메서드를 선언하기 -> 전역변수 하나에 셋팅하는 메서드, 겟팅하는 메서드를 각각 선언 가능 하다.

2. 그럼 어떻게 선언 할껀댕??
2-1. setting return data type : 없음 void
메서드명: 내가 정하면 됨
setUid 입력갯수: 1개
매개변수 data type : String
매개변수 명 : 내가 정하면 됨 "a" 
* 어떤 처리를 할 것인가? 입력 받은 값을 uid 전역변수에 대입(setting)

2-2. getting return data type : Stirng
메서드명: 내가 정하면 됨 getUid
입력갯수: 없음
매개변수 data type : 없음
매개변수 명:  없음
* 어떤 처리를 할 것인가? data 영역 uid 전역변수에 담겨있는 값을 리턴(getting)

this.

 

지역변수(매개변수) 이름(a)과 전역변수 이름(uid)이 같으면 어떻게 될까?
다르면 문제가 되지 않음 

같으면 세팅이 안됨- 전부 지역변수로 인식됨.
메서드 내부에 변수들은 처리 후 데이터가 휘발된다.

그래서

전역 변수 앞에 this. 을 붙여주자

 

package kr.or.ksmart.A;

public class AA01 {

	public static void main(String[] args) {		
		user u01 = new user();
		u01.setUid("id001");
		u01.setUpw("pw001");
		u01.setUphone("010-0001");
		u01.setUgender('남');
		u01.setUage(20);
		u01.setUlevel("구매자");
		uPrint(u01);
		
		//id002	pw002	010-0002	여	30	판매자
		user u02 = new user();
		u02.setUid("id002");
		u02.setUpw("pw002");
		u02.setUphone("010-0002");
		u02.setUgender('여');
		u02.setUage(30);
		u02.setUlevel("판매자");
		uPrint(u02);
		
		//id003	pw003	010-0003	여	31	판매자
		user u03 = new user();
		u03.setUid("id003");
		u03.setUpw("pw003");
		u03.setUphone("010-0003");
		u03.setUgender('여');
		u03.setUage(31);
		u03.setUlevel("판매자");
		uPrint(u03);
		
		//id004	pw004	010-0004	여	32	관리자
		user u04 = new user();
		u04.setUid("id004");
		u04.setUpw("pw004");
		u04.setUphone("010-0004");
		u04.setUgender('여');
		u04.setUage(32);
		u04.setUlevel("관리자");
		uPrint(u04);
		
	}
	public static void uPrint(user getu) {	
	System.out.println("---회원관리 내역---");	
	System.out.println(getu + "<-getu" );
	System.out.println(getu.getUid()+"<-아이디" );
	System.out.println(getu.getUpw()+"<-비밀번호");
	System.out.println(getu.getUphone() + "<-휴대폰");
	System.out.println(getu.getUgender() + "<-성별");
	System.out.println(getu.getUage() + "<-나이");
	System.out.println(getu.getUlevel() +"<-권한");
	System.out.println("<-   END   ->");
	}
}
package kr.or.ksmart.A;

public class user {
	private String uid;	
	private String upw;
	private String uphone;	
	private char ugender;	
	private int uage;	
	private String ulevel;
	
    public String getUid() {
		return uid;
	}
	public void setUid(String uid) {
		this.uid = uid;
		System.out.println(uid + "uid setUid user.java");
	}
	public String getUpw() {
		return upw;
	}
	public void setUpw(String upw) {
		this.upw = upw;
		System.out.println(upw + "upw setUid user.java");
	}
	public String getUphone() {
		return uphone;
	}
	public void setUphone(String uphone) {
		this.uphone = uphone;
		System.out.println(uphone + "uphone setUid user.java");
	}
	public char getUgender() {
		return ugender;
	}
	public void setUgender(char ugender) {
		this.ugender = ugender;
		System.out.println(ugender + "ugender setUid user.java");
	}
	public int getUage() {
		return uage;
	}
	public void setUage(int uage) {
		this.uage = uage;
		System.out.println(uage + "uage setUid user.java");
	}
	public String getUlevel() {
		return ulevel;
	}
	public void setUlevel(String ulevel) {
		this.ulevel = ulevel;
		System.out.println(ulevel + "ulevel setUid user.java");
	}


}

setting getting 과정

User class data type 으로 객체참조변수  u01을 선언한다. 
User 생성자 메서드를 통해 객체를 생성 후  객체의 주소값를 u01에 할당한다.

☞ setting
    1단계 :  "id001" 입력값으로  하여 멤버메소드 setUid  를 호출한다.

    2단계 :  매개변수 값으로 id001을 입력받아  메소드를 실행 후 입력받은 값을 멤버변수 uid에 대입한다. 

   3단계 : uid 전역 변수에 setting 된다.

 getting
   1단계 :  멤버 메소드 getUid()를 호출한다 .

   2단계 :  데이터 영역의  uid 값을  불러온다 .

   3단계 :  불러온 값을 리턴한다. 

입력값 setting

▷ setting, getting 한 번에 하는 방법

setting getting 입력하기

설정할 화면 우클릭 → Source (Alt + Shift + S) → Generate Getter and Setters... → Select All → OK

반응형

댓글