Encapsulation - Information hiding이 굉장히 중요함.
package Figure;
public class Rectangle{
private int x,y,h,w;
public Rectangle(int x1, y1, h1, w1) //c++ 과 마찬가지고, 생성자
{x = x1; y = y1; h = h1; w = w1;}
public void moveTo(int x1, y1)
{ x = x1; y =y1; }
public void display()
{..//drawRectangle(x,y,h,w);}
};
윈도우 만들기
public class Window extends Rectangle //window 라는 클래스는 rectangle 클래스를 상복한다라는 뜻
{
public void resize(int h1, w1)
{
h=h1; w=w1; display();
}
}
Instance Variable
Encapsulation: get, set Methods
Constructors
Primitive Type and Reference Types
Java application에는 한개 이상의 main() 이 있어야 함.
Account class 정의하기
public class Account
{
private double balance;
public Account( double initialBalance )
{
if( initialBalance > 0.0 )
balance = initialBalance;
}
public void credit ( double amount )
{
balance = balance + amount;
}
public double getBalance()
{
return balance;
}
}
package java1;
import java.util.Scanner;
public class AccountTest {
public static void main(String[] args) {
//System.out.print("Hello World");
Account account1 = new Account (50.00);
Account account2 = new Account (-7.53);
System.out.printf("account1 balance: $%.2f\n",
account1.getBalance() );
System.out.printf("account2 balance: $%.2f\n",
account2.getBalance() );
Scanner input = new Scanner (System.in);
double depositAmount;
System.out.print("\nEnter deposit amount for account1: ");
depositAmount = input.nextDouble();
System.out.printf("\nsubtracting %.2f from account1 balance\n",
depositAmount );
account1.credit(depositAmount) ;
System.out.printf("account1 balance: $%.2f\n",
account1.getBalance() );
System.out.printf("account2 balance: $%.2f\n",
account2.getBalance() );
System.out.print("\nEnter deposit amount for account2: ");
depositAmount = input.nextDouble();
System.out.printf("\nsubtracting %.2f from account2 balance\n",
depositAmount );
account2.credit(depositAmount) ;
System.out.printf("account1 balance: $%.2f\n",
account1.getBalance() );
System.out.printf("account2 balance: $%.2f\n",
account2.getBalance() );
}
}
위 코드는 실습시간에 구현했던, 간단한 기능을 갖고 있는 ATM이다. 현재 텀프로젝트로
좀 더 복잡한 ATM을 만들고 있으며 추후에 추가할 예정이다.
만약 같은 폴더에 여러 파일이 있으면, 그것을 정리해주는 키워드가 package인 것같음. 이것에 대해서도 추후에 자세하게 공부를 하고 올리겠다.
Scanner method: nextLine(), next()