클래스 선언

public class Person {
		// 인스턴스 변수
    String name;     // 이름
    int age;         // 나이
    int cashAmount;  // 보유 현금
		BankAccount account; // 계좌
}
public class BankAccount {
    int balance; // 잔고
		Person owner; // 주인
}

메소드

기본 문법

// 자료형 함수 이름(자료형 변수이름, ..) {return 값}
int sum(int x, int y) {
    return x + y;
}
public class BankAccount {
    int balance;
    Person owner;

    // 파라미터: 입금할 액수
    // 리턴: 성공 여부 (불린)
    boolean deposit(int amount) {

    }

    // 파라미터: 출금할 액수
    // 리턴: 성공 여부 (불린)
    boolean withdraw(int amount) {

    }

    // 첫 번째 파라미터: 받는 사람 (Person)
    // 두 번째 파라미터: 이체할 금액 (정수)
    // 리턴: 성공 여부 (불린)
    boolean transfer(Person to, int amount) {

    }
}

인스턴스

public class BankDriver {
    public static void main(String[] args) {
        // 사람 생성
        Person p1 = new Person();
        p1.name = "김신의"
        p1.age = 28;
        p1.cashAmount = 30000;

        // 은행 계좌 생성
        BankAccount a1 = new BankAccount();
        a1.balance = 100000;

        // 두 객체의 관계 설정
        p1.account = a1;
        a1.owner = p1;

        // 테스트
        System.out.print(p1.name + "의 계좌 잔액: " + p1.account.balance);
    }
}

// 김신의의 계좌 잔액: 100000