참조변수란 ?
객체의 메모리 주소를 저장하는 변수
-->객체(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 |