Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 안드로이드
- Spring Servlet이란
- elasticSearch
- ElasticSearch EdgeNGram
- Servlet Container란
- 토큰필터
- Dispathcher Servlet이란
- layout
- Servlet과 Thread
- ApplicationContext란
- ElasticSearch 동의어 사전
- ElasticSearch Shingle
- ElasticSearch 토큰필터
- ElasticSearch NGram
- Servlet 멀티 스레딩
- Bean Factory란
- Servlet Life Cycle
- 계산기
- Spring Handler
- H2 DB
- ElasticSearch 동의어 파일
- 동의어 파일
- ContextLoaderListener란
- Java
- 자바
- spring 장점
- 안드로이드스튜디오
- 인텔리제이
- Spring Container란
- H2
Archives
- Today
- Total
결국 무엇이든 해내는 사람
(Java)Day09 - 상속을 이용한 은행계좌 만들어보기 본문
반응형
-계획-
1. 기본으로 쓸 계좌 클래스 만들기
2. 계좌클래스를 기준으로 A형 카드와 B형 카드를 만들어본다고 가정
3. Main에서 A형카드사용자와 B형카드사용자를 하나씩 만들어보기
package banking;
public class account_sam {
private String client_name;
private int balance;//잔액
private int amount;//출입금 액
public account_sam() {
//기본생성자를 정의하되 , 따로 내용을 구현하지않음 그러면 상속시 문제가 생기지않드라
}
public account_sam(String a, int b) {
this.client_name=a;
this.balance=b;
}
//인스턴스를 생성하기 위해서는 반드시 생성자를 호출
//부모 클래스로부터 상속받은 메소드 및 필드는 엄연히 부모 클래스에 의해 정의 된 것이고
//부모의 것이다
//따라서 부모 클래스의 생성자가 호출되어야 자식클래스에서 사용이가능한것
//하지만 생성자는 상속되지 않는다!
//대신 자식 클래스로 인스턴스를 생성할 때 부모클래스의 기본 생성자를 자동으로 호출한다
public void withdraw(int amount) {
if(this.balance>=amount) {
System.out.println("<<<< "+this.client_name+"님의 계좌정보 >>>>");
System.out.println("현재잔액 : "+balance+ " 원");
System.out.println("출금액 : "+amount+ " 원");
this.balance-=amount;
System.out.println("출금 후 잔액 : "+balance+ " 원");
}
else {
System.out.println("<<<< "+ "잔액이 부족합니다"+" >>>>");
}
}
public void deposit(int amount) {
System.out.println("<<<< "+this.client_name+"님의 계좌정보 >>>>");
System.out.println("현재잔액 : "+balance+ " 원");
System.out.println("입금액 : "+amount+ " 원");
this.balance+=amount;
System.out.println("입금 후 잔액 : "+balance+ " 원");
}
///////////////////////////////////////////////////////////////
public String getClient_name() {
return client_name;
}
public void setClient_name(String client_name) {
this.client_name = client_name;
}
public int getBalance() {
return balance;
}
public void setBalance(int balance) {
this.balance = balance;
}
public int getAmount() {
return amount;
}
public void setAmount(int amount) {
this.amount = amount;
}
}
기준이 되는 계좌 클래스
이 클래스를 A형 B형 클래스에 각각 상속해줄 예정
그러면 상속 받은 클래스는 모든 변수와 메소드를 가지고 시작
이때 생성자에 유의해야함
기본생성자가 없는 상태로 인자를 받는 생성자만 구현해놓을경우 , 상속시 문제가 발생
이는 위 코드 주석에 자세히 설명해놈
package banking;
public class type_A_Card extends account_sam {
public type_A_Card(String a, int b){
this.setClient_name(a);
this.setBalance(b);
}
//A유형 카드
public void event_A() {
if(this.getBalance()>=10000) {
System.out.println("통장에 10000원 이상 있을 경우 자동 응모!");
}
else {
System.out.println("통장의 잔액이 10000원 적어서 이벤트 응모를 하지 못 하였습니다.");
}
}
}
package banking;
public class type_B_Card extends account_sam {
public type_B_Card(String a, int b){
this.setClient_name(a);
this.setBalance(b);
}
//B유형카드
public void event_B() {
System.out.println("B 카드 이용 고객님들은 조건없이 자동 응모됩니다!");
}
}
위는 A , B 형 카드를 구현
package banking;
public class Main {
public static void main(String[] args) {
type_A_Card ac1=new type_A_Card("김경민",20000);
type_B_Card ac2= new type_B_Card("배건수",10000);
ac1.withdraw(5000);
System.out.println();
ac2.deposit(10000);
System.out.println();
ac1.event_A();
System.out.println();
ac2.event_B();
}
}
Main에서 수행
반응형
'두서없는 공부 노트 > JAVA' 카테고리의 다른 글
(Java)Day09 - Final (0) | 2020.08.18 |
---|---|
(Java)Day09 - 상속을 확실히 이해해보기2(오버라이딩, super) (0) | 2020.08.18 |
(Java)Day09-상속 (0) | 2020.08.18 |
(Java)Day09 - Getter Setter 를 이용한 퀴즈 만들기 (0) | 2020.08.18 |
(Java)ArrayList를 이용한 카페 메뉴만들기 (0) | 2020.08.18 |
Comments