[Java] 클래스, 인스턴스

정보구니·2021년 12월 23일
0

Java

목록 보기
20/39

클래스


  • 클래스틑 데이터메소드로 구성된다.
  • 클래스를 이용해 변수와 연관 있는 모든 메소드를 하나로 묶을 수 있다.
  • 클래스는 틀, 설계도와 같은 역할을 한다.
  • 인스턴스(객체)를 생성해야 클래스 내 변수나 메소드를 사용할 수 있다.

class Bank {
	/* 인스턴수 변수 -> 데이터 */	
	int balance = 0;  // 예금 잔액
	
	/* 인스턴스 메소드 */ 
	public int deposit(int amount) {   // 입금
		balance += amount;
		return balance;
	}	
	public int withdraw(int amount) {  // 출금
		balance -= amount;
		return balance;
	}	
	public int check_balance() {       // 잔액 조회
		System.out.println("잔액: " + balance);
		return balance;	
	}
}


public class Ex1_Bank {
	public static void main(String[] args) {
		// 인스턴스 생성
		Bank anne = new Bank();  // 참조변수 선언 -> 인스턴스의 주소값을 담음
		
		// anne이 참조하는 인스턴스 메소드를 호출			
		anne.deposit(5000);      // 예금 진행
		anne.withdraw(2000);     // 출금 진행		
		anne.check_balance();    // 잔액 조회
	}
}




인스턴스 변수

  • 클래스 내에 선언된 변수를 인스턴스 변수라 한다.
  • 인스턴스 변수는 같은 클래스 내에 위치한 메소드 내에서 접근이 가능하다.
  • 멤버변수 또는 필드(Fields)라고도 표현한다.



참조 변수

  • 키워드 new를 통해 인스턴스를 생성하면 생성된 인스턴스의 주소값이 반환된다.
  • 인스턴스의 주소값을 참조하는 변수를 참조변수라 한다.

🔎 참조변수의 특징

  • 참조변수가 참조하는 인스턴스는 바꿀 수 있다.
  • 하나의 인스턴스를 2개 이상의 참조변수가 참조 가능하다.
Bank anne = new Bank();  // 인스턴스 생성, anne는 참조변수
...
anne = new Bank();  // anne은 새 인스턴스를 참조한다.
...


bank anne = new bank();
bank jolly = anne;  // jolly와 anne이 같은 인스턴스를 참조

🔎 참조변수 null대입

  • 참조변수에 null을 대입하면, 참조변수가 참조하던 인스턴스와의 관계를 끊는다.

0개의 댓글