Hello

Java 객체 배열, 선언위치에 따른 변수의 종류

by 볼빵빵오춘기

객체 배열

많은 수의 객체를 다뤄야 할 때, 배열로 다루면 편리할 것이다.

객체 역시 배열로 다루는 것이 가능하며, 이를 ‘객체 배열’이라고 한다.

 

그렇다고 객체 배열 안에 객체가 저장되는 것은 아니고, 객체의 주소가 저장된다.

 

즉, 객체 배열은 참조변수들을 하나로 묶는 참조변수 배열인것이다.

Tv[] tvArr = new Tv[3];

 

선언위치에 따른 변수의 종류

  • 변수의 종류를 결정 짓는 것은 변수의 선언위치이며,
  • 영역은 메서드 영역과 클래스 영역으로 나뉜다. (메서드 영역 이외의 영역을 클래스 영역[메소드, 생성자, 초기화블럭 내부]이라 보면 된다.) 

 

  • 메서드 영역에는  클래스 변수, 인스턴스 변수가 있다. (클래스 변수는 인스턴스 변수에 static을 붙인것이고 static 변수라고도 부른다.)
    • 클래스 변수의 생성시기는 클래스가 메모리에 올라 갈 때 
    • 인스턴수 변수의 생성시기는 인스턴스가 생성되었을 때 

 

  • 클래스 영역에는 지역변수가 있다.
    • 지역변수의 생성시기는 변수 선언문이 수행되었을 때

 

추가로

  • 클래스변수와 인스턴스 변수를 합쳐서 멤버변수라고 부른다. 
  • 클래스변수는 객체생성이 필요없고 인스턴스변수는 객체생성이 필요하다.
    => 클래스변수는 아무때나 사용가능 인스턴스변수는 필요할때 불러서 사용한다.
  • 객체는 iv변수를 묶으거다 라고 생각하기!
  • 클래스 영역은 선언문(변수선언, 메서드선언) 가능하다.(y=3, sysout문 사용 불가)

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기