classpath란 같은 폴더 내에서 .class파일이 없을때,
직접 .class파일이 있는 경로를 지정해주는것을 뜻한다.
절대경로란, 말 그대로 최상위 경로부터 표현해서
c:\FoolLady\eclipse.... 등으로 전부 표시해주는 방식이고,
상대경로란, 현재 사용하고 있는 파일의 경로를 기준으로써 표시해주는 방식이다.
예) ../imge/flower.java 등
경로에서 .는 현재 위치,
..는 상위 디렉토리를 뜻한다.
ex) .; c:\FoolLady\eclipse\... ; c:\my documents\java 등
으로 경로를 두곳이상 지정해줄수있다. 경계선은 ;로 구분한다.
패키지를 사용하는 이유는 클래스명의 고유성을 보장하기 위함이다.
이럴 때 패키지 기능을 사용하여 클래스의 이름이 충돌하는 것을 방지할 수 있다.
모든 문자를 소문자로 지정해주며 구분하고자 하는 단어마다 .을 붙여준다
보통 도메인은 하나밖에 없는 경우가 많기에 고유성을 띠고있어,
com.회사이름.플랫폼.프로그램와 같은
도메인을 이용한 명명법이 자주 사용된다.
예) java.util.io
com.naver.login
kr.co.foollady
정보 은닉이란, 클래스에서 정의된 변수나 메소드를
임의로 외부에서 접근하여 값을 변경하지 못하게 하는 것을 뜻한다.
private 접근제한자를 사용하여 보통 이루어진다.
class에서 사용 가능한 접근 제한자는 public과 default가 있으며, 클래스명 앞에 public을 붙여주지 않는다면 기본적으로 default 클래스로 정의된다.
사용 목적으로는 public으로 지정해준다면 다른 패키지 내에서 변수나 메소드값으로 직접 대입이 가능하지만, default로 선언된다면 다른 패키지 내에서 직접 값을 대입할수 없게 된다.
주의 Main 에서 다 처리 하지 말고, 객체 지향적(클래스로 만들어서)으로 짜시오.
===================================소스코드
Versus.java
public static void main(String[] args) {
RockPaperScissors PLAY = new RockPaperScissors(); // 가위바위보 객체생성
Scanner Player = new Scanner(System.in); // 스캐너 객체 생성
System.out.println("가위, 바위, 보 중 하나를 입력하세요.");
String player_Value = Player.nextLine(); // 플레이어 문자열 받아오기
int player_value_const = 0;
switch(player_Value) {
case "가위":
player_value_const = 0;
break;
case "바위":
player_value_const = 1;
break;
case "보":
player_value_const = 2;
break;
default:
System.out.println("잘못 입력하셨습니다");
break;
}
String cpu_Value; // CPU의 문자열 저장 변수
int cpu_random_value = (int) (Math.random() * 3);
// CPU의 값을 랜덤으로 받기 (0~2까지의 값을 랜덤으로 출력한 뒤 나머지 출력)
if(cpu_random_value == 0) {
cpu_Value ="가위";
}
else if(cpu_random_value == 1) {
cpu_Value ="바위";
}
else {
cpu_Value="보";
}
System.out.println("플레이어" + player_Value);
System.out.println("컴퓨터" + cpu_Value);
PLAY.RPS(player_value_const, cpu_random_value);
}
RockPaperScissors.java
int Player_Value;
int CPU_Value;
public void RPS(int Player_Value, int CPU_Value) {
if(Player_Value == CPU_Value) {
System.out.println("비겼습니다.");
}
else if((Player_Value == 0) && (CPU_Value == 1)) {
System.out.println("졌습니다.");
}
else if(Player_Value == 1 && CPU_Value == 2) {
System.out.println("졌습니다.");
}
else if(Player_Value == 2 && CPU_Value == 0) {
System.out.println("졌습니다.");
}
else {
System.out.println("이겼습니다.");
}
}