본문 바로가기
CLASS/JAVA

#3-1 / 외부class,if문

by eungSe__ 2024. 5. 2.

public void abc(){ } / void abc(){ } 는 다름 

- public void abc(){ } 

this 사용 불가능 (public class이므로 , main 메소드 안에서는 절대 this로 추가 메소드를 호출 못함)

main 메소드 외에 public class 안에 추가 메소드끼리는 this를 활용할 수 있다.

 

- void abc(){ } 

this 사용 가능 (외부 클래스이므로) 

⚡ 외부 클래스를 이용하여 데이터 값을 메소드로 전달
this란 ?   같은 클래스 그룹을 지칭할때 사용하는 문법
main 메소드 외에 public class 안에 추가 메소드는 this를 활용할 수 있다.
main 메소드 안에서는 절대 this로 추가 메소드를 호출 못함

package oop;
//외부 클래스를 이용하여 데이터 값을 메소드로 전달
public class oop5 {

	public static void main(String[] args) { //실행
		oop5_box oop5 = new oop5_box(); //외부 클래스
		//null : 값을 확인 할 수 없음 , "" : 값이 비어있음
		String mid = "hong";
		String mpw = "a1234";
		oop5.abc(mid,mpw); 
		
		/* public class에서 추가 메소드를 호출 및 값 전달 */
		//주의 : main 메소드 안에서는 절대 this로 추가 메소드를 호출 못함
        
		//방법1 - public class에서는 this 사용 불가하므로 해당 클래스 재로드
		//oop5 mains = new oop5(); //
		//mains.zzz();
        
		//방법2
		new oop5().zzz(); //재로드하는 다른 방법
        
		//사용 불가
		//this.zzz();  

	}
	
	public void zzz() { //메인 클래스에 추가 메소드
		System.out.println("메인클래스 추가 메소드!!");
		
		/* main 메소드 외에 public class 안에 추가 메소드는 this를 활용할 수 있다. */
		
		this.kkk(); //this란 ? 같은 클래스 그룹을 지칭할때 사용하는 문법
		//kkk();
		//new oop5().kkk(); //이 세개 가능
	}
	
	public void kkk() {
		System.out.println("kkk메소드 실행!");
	}

}

class oop5_box {
	//받는 메소드의 인자값 갯수 및 자료형태 일치해야함
	
	//메인에서 보내온 데이터를 받는 메소드
	public void abc(String id, String pw) { 
		System.out.println(id);
		System.out.println(pw);
		
		this.login(id, pw); //this를 이용하여 login 메소드로 전달
		//login(id,pw); //이것도 가능
	}
	
	public void login(String id, String pw) {
		System.out.println(id);
		System.out.println(pw);
	}
	
}
⚡ 외부 클래스를 이용한 조건문(if)
package oop;

public class oop6 {

	public static void main(String[] args) {
		String user = "hong";
		String pass = "a12345";
		
		oop6_cal op6 = new oop6_cal(); //외부 클래스 호출
		op6.abc(user, pass);//id,pw 전달

	}

}

//외부 클래스
class oop6_cal {
	public void abc(String mid, String mpw) { //인자값으로 값 받음
		if(mid == null || mid == "") { //아이디가 빈값 및 null처리 되었을 경우
			System.out.println("아이디가 확인 되지 않음");
		}else if(mid != null || mid != ""){
			if( mid == "hong" ) {
				if(mpw == "a12345") {
					System.out.println("로그인 되셨습니다");
				}else {
					System.out.println("패스워드가 틀립니다");
				}
			}else {
				System.out.println("등록된 회원이 아닙니다.");
			}
		}
	}
	
}
⚡ equals
String에만 사용 가능, char에는 사용불가 ( == 와 같은기능 )
숫자는 무조건 연산기호만 사용 가능(==,!=,>=,<=,<,>) / equals는 문자에만 해당
package oop;

public class oop6 {

	public static void main(String[] args) {

		char auto_login1 = 'Y';
		String auto_login2 = "N";
		
		oop6_ck op6_ck = new oop6_ck();
		op6_ck.login_ck1(auto_login1);
		op6_ck.login_ck2(auto_login2);

	}

}

//외부 클래스 (자동로그인)
class oop6_ck {
	public void login_ck1(char check1){
		if(check1=='Y') { //char로 인식 (== 연산기호만 사용 가능)
			System.out.println("자동로그인 활성화1");
		}
		
	}
	//숫자는 무조건 연산기호만 사용 가능(==,!=,>=,<=,<,>) / equals는 문자에만 해당
	
	public void login_ck2(String check2) {
		if(check2.equals("Y")) { //연산기호가 아닌 equals라는 메소드를 이용해 비교(==)
			System.out.println("자동로그인 활성화2");
		}else if(!check2.equals("Y")) { //!= 같지 않음
			System.out.println("자동로그인 비활성화2");
		}
	}
	
}

 

 

 

'CLASS > JAVA' 카테고리의 다른 글

#3-3 / library(Scanner)  (0) 2024.05.02
#3-2 / 반복문  (0) 2024.05.02
#2-2 / JAVA - OOP 🔥  (0) 2024.04.30
#2-1 / 로그인 form(javascript)  (0) 2024.04.30
#1-2 / Apache-tomcat 웹 페이지  (0) 2024.04.29