자바 JAVA - 클래스
은행 계좌를 만드는 코드를 통해서 객체 지향 언어인 JAVA의 특성을 알아보자.
클래스란 비슷한 객체들을 정의하고 설명하기 위한 집합체라고 생각하면 된다.
예시를 통해 알아보자.
은행 계좌 입출금을 하기위해 필요한 클래스는 무엇이 있을까?
우선 돈을 입금하고 출금하는 사람과 그 돈이 입금되고 출금되는 은행 계좌 이렇게 두가지를 생각할 수 있을 것이다.
이 사람과, 은행 계좌는 딱 한가지로만 정해진게 아니고 여러명, 여러 계좌로 이루어져 있을 수 있다.
그러면 이 클래스들을 선언해보고 그 안에서 필요한 변수들을 우선 선언해보자.
1) 고객
이런식으로 Client 이라는 이름을 가진 클래스를 선언해준뒤,
사람에 대한 정보를 입력받을 변수를 선언한다.
이름, 나이, 현금
그리고 BankAccount 라는 자료형을 가진 account 변수를 선언한다.
이 BankAccount 는 바로 다음 은행 계좌에서 클래스로 선언해 줄 것이다.
2) 은행계좌
BankAccount 라는 이름을 가진 클래스를 선언해준다.
이후 BankAccount 클래스에서 필요한 변수인 잔고를 선언해준 뒤,
앞에서 선언한 클래스 Person을 자료형으로 가진 owner 변수를 선언해준다.
앞에서 엮어준 두 코드를 살펴보자.
이 두 선언은 서로 다른 클래스에서 각자의 객체들을 엮어주는 역할을 한다.
3) Main
Java는 main 을 제일 먼저 실행한다고 하였는데, 앞에서 작성한 클래스들에서는 main 을 찾아볼 수 없다.
그러니 이 클래스들을 사용해서 프로그램을 실행할 main 을 만들어 주자.
이름은 TBank 라고 선언하겠다.
main 내에서 Client 클래스 c1을 선언해주고
c1 고객의 이름, 나이, 현금 을 입력해준다.
값이 잘 입력되었는지 확인해 보려면
이렇게 출력을 해보면 된다.
값이 잘 들어가있다.
그럼 이제 c1의 은행 계좌를 만들어주자.
우리가 만들 것은 20만원이 들어가있는 c1의 은행계좌이다.
이렇게 선언해 주면 된다.
이후 선언한 c1과 b1을 엮어주면 된다.
b1 의 은행계좌가 c1 것이라고해주는 것이다.
-----------------------------------------------------------------------------------------------------------------
여기까지 정리.
1. c1 은 27살이며 윤수현이라는 이름이고, 현금은 5만원을 가지고있다.
2. c1의 은행 계좌에는 20만원이 들어있다.
그럼 이제 이 은행 계좌를 이용해서 할 수 있는 입금, 출금 등을 해보자.
입금은 deposit 라는 변수
출금은 withdraw 라는 변수로 선언을 할 것이다.
BankAccount 클래스에 선언한 입금, 출금 메소드 이다.
boolean deposit 는 boolean 형의 자료형을 가진 deposit 이라는 이름을 가진 변수를 선언하는 것이다.
이 변수는 int CashAmount 라는 정수형 입력 변수를 받는다.
if 문을 살펴보기전에 입금을 받으려면 아무숫자나 받으면 안된다.
우리는 두 조건을 둘 것이다.
1. 현금은 무조건 양수인 숫자로만 입력받아야 한다.
2. 고객이 가지고 있는 현금이 입력 받는 입금 액수보다 많아야 한다.
이 두가지의 조건을 지킨 입력값을 받으려면 if문에서 숫자들을 걸러줘야한다.
그래서 if 조건 내용에
1. CashAmount >= 0
현금은 무조건 양수인 숫자로만 입력받아야 한다.
2. owner.Cash > CashAmount
고객이 가지고 있는 현금이 입력 받는 입금 액수보다 많아야 한다.
이 두가지 조건을 충족하는 숫자만 입력가능하게 한것이다.
이 두 조건을 충족한다면
balance += CashAmount; 입금할 돈을 계좌에 넣어주고
owner.Cash -= CashAmount; 입금한 돈만큼 현금에서 빼줘야 한다.
그후 불린형 자료형에 맞게 true를 return 해준다.
이렇게 똑같은 과정으로 withdraw 변수도 선언해주면 입금, 출금 메소드를 다 만든것이다.
이렇게만 입력하면 출력값이 따로 없으니
얼마가 입금, 출금 되었는지, 입금, 출금 뒤 잔고가 얼마인지, 입금, 출금이 실패되었으면 실패되었다고 출력을 해주자.
이렇게 작성해주면 되겠다.
-----------------------------------------------------------------------------------------------------------------
자 그러면 main에서 이 입금, 출금 메소드들을 선언해서 잘 작동하나 확인해보자.
TBank 클래스로 넘어와 이렇게 선언을 해주자.
그러면 이렇게 금액에 맞게 입금되고 출금되고,
액수가 너무 클경우 실패하였다는 문구가 잘 출력되는 것을 확인할 수 있다.
'프로그래밍언어 > JAVA' 카테고리의 다른 글
자바 JAVA - 다차원배열(3) 실습 , 성적표 출력 (0) | 2021.09.29 |
---|---|
자바 - 다차원배열 (2) , 실습자료 (0) | 2021.09.29 |
자바 JAVA - 다차원 배열 (2) | 2021.08.24 |
자바 JAVA - 배열 (0) | 2021.08.23 |
자바 JAVA - 반복문 (for 문), 구구단 (0) | 2021.08.21 |