1. 캡슐화 (Encapsulation)
- 객체 지향 = 상속, 정보은닉, 다형성, 캡슐화 + 추상화, 클래스
- 절차 지향 = 순서대로 진행, main() 안에 넣기
1-1. 가위바위보 게임의 구조
- 만든 함수 : 입력을 한다, 컴퓨터가 랜덤을 출력한다, 비교를 한다
- 순서대로 하지 않았다면? 로직 상에서 무언가가 빠져있다면?
(아무도 안 냈는데 결과 비교, 나만 내고 / 컴퓨터만 내고 결과 비교, 비교만 여러번, 내고 있는건 여러번인데 비교는 안함 등등...)
class RSP {
void inputRSP() {
System.out.println("가위바위보 입력 >> ");
}
void randomRSP() {
System.out.println("컴퓨터 : >>");
}
void resultRSP() {
System.out.println("결과는?");
}
}
public class JavaPractice {
public static void main(String[] args) {
RSP rsp = new RSP();
rsp.inputRSP();
rsp.randomRSP();
rsp.resultRSP();
}
}
1-2. 캡슐화 적용하기
- main()에서 run()만 실행하면 3가지 기능이 순서대로 실행된다.
- main()에서 class를 쉽게 사용할 수 있도록 만든다.
class RSP {
void inputRSP() {
System.out.println("가위바위보 입력 >> ");
}
void randomRSP() {
System.out.println("컴퓨터 : >>");
}
void resultRSP() {
System.out.println("결과는?");
}
public void run() {
inputRSP();
randomRSP();
resultRSP();
}
}
public class JavaPractice {
public static void main(String[] args) {
RSP rsp = new RSP();
rsp.run();
}
}