자바는 객체지향 언어로써 클래스라는 것을 중심으로 코드를 작성해야 한다.

 

클래스의 정의와 인스턴스의 생성

클래스(Class) = 데이터(Data) + 메소드(Method)

- 데이터 : 프로그램상에서 유지하고 관리해야 할 데이터

- 기능 : 데이터를 처리하고 조작하는 기능

 

이 중에서 데이터는 '변수의 선언'을 통해 유지 및 관리가 되고, 또 변수에 저장된 데이터는 '메소드의 호출'을 통해 처리가 된다.

// 은행 계좌
class BankAccountPO{
	static int balance = 0;		// 예금 잔액
    
    public static void main(String[] args){
    	deposit(10000);		// 입금 진행
        checkMyBalance();	// 잔액 확인
        withdraw(3000);		// 출금 진행
        checkMyBalance();	// 잔액 확인
    }
    public static int deposit(int amount){		// 입금을 담당하는 메소드
    	balance += amount;
        return balance;
    }
    public static int withdraw(int amount){		// 출금을 담당하는 메소드
    	balance -= amount;
        return balance;
    }
    public static int checkMyBalance(){		// 예금 조회를 담당하는 메소드
    	System.out.println("잔액 : " + balance);
        return balance;
   	}
}

//실행결과
잔액 : 10000
잔액 : 7000

메소드 deposit, withdraw, checkMyBalance 내에서 접근하는 변수 balance는 2행에 선언된 변수이다.

- 데이터 :  변수 balance는 프로그램상에서의 '데이터'이다.

- 기능 : 메소드 deposit, withdraw, checkMyBalance 는 프로그램상에서의 '기능'이다.

 

"변수 balance는 메소드 deposit, withdraw, checkMyBalance와 긴밀히 연관되어 있다."

 

긴밀히 연관되어(연결되어) 있다는 것은 다음 내용을 뜻한다.

 

"메소드 deposit, withdraw, checkMyBalance는 변수 balance를 위한 메소드 이다."

 

쉽게 말해서 메소드 deposit은 변수 valance와 뗄 수 없는 관계이다.

연관있는 변수와 메소드를 묶기 위해 '클래스'라는 것이 존재한다.

클래스를 이용하면 다음과 같이 변수 balance 그리고 이와 연관 있는 모든 메소드를 하나로 묶을 수 있다.

 

클래스의 구성과 인스턴스화

 

 

'iT-Programing > java' 카테고리의 다른 글

[java] 메소드와 변수의 스코프  (0) 2020.01.12
[java] 실행 흐름의 컨트롤  (0) 2020.01.12
[java] 연산자(Operators)  (0) 2020.01.12
[java] 상수와 형 변환  (0) 2020.01.12
[java] 변수와 자료형  (0) 2020.01.12

+ Recent posts