본문 바로가기
##JAVA

참조변수와 일반변수

by 운중동토토로 2024. 6. 24.

참조변수란 ? 

객체의 메모리 주소를 저장하는 변수

-->객체(ex. 배열, 생성자로 생성한 객체)

ex ) String

 

java의 참조형은 객체 지향 프로그래밍의 핵심이며, 동적 객체 생성과 메모리 관리를 효과적으로 지원한다

객체의 주소를 통한 연결은 다양한 기능을 제공하며,

가비지 컬렉션을 통해 메모리 관리를 자동화하여 프로그래머에게 편의성을 제공한다

 

① 객체의 생성과 힙메모리

참조형 변수를 선언하면 객체는 힙 메모리에 동적으로 생성된다

new 키워드를 사용하여 객체를 생성하고, 생성된 객체는 참조형 변수에 주소를 통해 연결된다

ex) 문자열을 저장하는 String 객체생성

--> String city = new String("서울시");

 

② 참조변수와 객체의 연결

참조형 변수는 객체의 주소를 저장하며 이를 통해 객체의 필드에 접근하거나 메소드를 호출할 수 있다

ex) 문자열 길이 출력

--> int length = city.length();

 

③ null 값

참조형 변수는 초기화되지 않으면 기본적으로 null값으로 초기화된다

null은 아무런 객체를 참조하지 않음을 의미한다

ex) 초기화 되지 않은 경우 기본적으로 null로 초기화

--> String cyty;

 

④ 가비지 컬렉션(Garbage Collection)

힙 메모리에 생성된 객체 중에서 더 이상 참조되지 않는 객체는 가비지 컬렉터에 의해 자동으로 제거된다

메모리 누수를 방지하고 자원을 효율적으로 관리하는데 도움이 된다

 

⑤ 참조의 전달과 메소드 호출

메소드에 참조형 변수를 전달할 때 해당 변수가 가리키는 객체의 주소가 복사되어 전달된다

메소드 안에서 객체의 상태를 변경하면 호출하는 곳에서도 변경된 상태를 볼 수 있다

ex) void modifyString(String str) {

           str = str + "시민";

      }

      //  ...

     String city = "서울시";

     modifyString(city);

     System.out.println(city);      // 출력결과 : city

 

⑥ 클래스와 객체의 연결

클래스는 객체를 생성하기 위한 템플릿이며 객체는 클래스의 인스턴스다

클래스를 사용하여 객체를 생성하고, 참조형 변수를 통해 해당 객체를 참조할 수 있다 

ex) class City {

           String name;

           

           City(String name){

                       this.name = name;

           }

}

 

// 객체생성

City mycity = new City("서울시");

 

일반변수란 ?

 

실제 값을 저장하는 변수

다른 변수와 독립적이다

ex) int, float, boolean, char

 

'##JAVA' 카테고리의 다른 글

객체지향프로그램의 4요소 : 다형성  (0) 2024.07.08
클래스와 다이어그램  (0) 2024.07.08
객체와 클래스  (0) 2024.07.08
자바 장점과 단점  (0) 2024.06.17
자바의 특성  (0) 2024.06.17