상세 컨텐츠

본문 제목

[JAVA] 참조 타입

Programming language/JAVA

by 주초위왕 2023. 8. 17. 19:30

본문

1. 참조 타입 변수의 ==, !=연산

 
==, !=연산자는 변수의 값이 같은지, 아닌지를 조사한다. 참조 타입 변수의 값은 객체의 번지이므로 참조 타입 변수의 ==, != 연산자는 번지를 비교하게 된다. 번지가 같다면 동일한 객체를 참조하는 것이고, 다르다면 다른 객체를 참조하는 것이다.

A1 == A2	//결과:false
A1 != A2	//결과:true

1. A1와 A2는 서로 다른 객체를 참조하고 있으므로 false
2. 서로 참조하는 객체가 다르다고 했으므로 true

 
예제)
 
(배열은 각 값에 대해 별도의 변수를 선언하는 대신 단일 변수에 여러 값을 저장하는 데 사용된다.
배열을 선언하려면 대괄호 로 변수 유형을 정의한다.)

int[] arr1;	//배열 변수 arr1 선언
int[] arr2;	//배열 변수 arr2 선언
int[] arr3;	//배열 변수 arr3 선언
    
arr1 = new int[] {1,2,3};	//배열 {1, 2, 3}을 생성하고 arr1변수에 대입
arr2 = new int[] {1,2,3};	//배열 {1, 2, 3}을 생성하고 arr2변수에 대입
arr3 = arr2;	//배열 변수 arr2의 값을 배열 변수 arr3에 대입
    
System.out.println(arr1 != arr2);	//arr1과 arr2 변수가 같은 배열을 참조하는지 검사-false
System.out.println(arr2 == arr3);	//arr2와 arr3 변수가 같은 배열을 참조하는지 검사-true

다른 결과 만들어보기
System.out.println(arr1 != arr3);	//arr1과 arr3 변수가 같은 배열을 참조하지 않기 때문에 true
System.out.println(arr2 == arr1);	//arr2과 arr1 변수가 같은 배열을 참조하지 않기 때문에 false

 


2. 문자열(String) 타입

자바의 문자열은 String 객체로 생성된다.

1.
String name		//String 타입 변수 name 선언
name = "홍길동"		//name 변수에 문자열 대입

2.
String hobby = "여행"		//String타입 변수 hobby를 선언하고 문자열 대입

 
 
예제1)

String strVar1 = "홍길동";
    String strVar2 = "홍길동";
    
    if(strVar1 == strVar2) {
      System.out.println("strVar1과 strVar2는 참조가 같은");
    } else {
      System.out.println("strVar1과 strVar2는 참조가 다름");
    }
    
    if(strVar1.equals(strVar2)) {
      System.out.println("strVar1과 strVar2는 문자열이 같음");
    }
    
    String strVar3 = new String("홍길동");
    String strVar4 = new String("홍길동");
    
    if(strVar3 == strVar4) {
      System.out.println("strVar3과 strVar4는 참조가 같은");
    } else {
      System.out.println("strVar3과 strVar4는 참조가 다름");
    }
    
    if(strVar3.equals(strVar4)) {
      System.out.println("strVar3과 strVar4는 문자열이 같음");
    }
    

<출력 결과>
strVar1과 strVar2는 참조가 같은
strVar1과 strVar2는 문자열이 같음
strVar3과 strVar4는 참조가 다름
strVar3과 strVar4는 문자열이 같음

 


3. 배열(Array) 타입

변수 배열 선언
(배열 변수는 참조 변수이다 참조할 배열이 없다면 배열 변수도 null로 초기화할 수 있다. ex) 타입[] 변수 = null)
배열을 사용하기 위해서는 우선 배열 변수를 선언해야 한다. 두 가지 방법이 있지만 첫번째를 더 선호함.

1.
타입[] 변수

2.
타입 변수[]

 

 
타입별로 배열을 선언하는 방법 두가지.

1.
int[] intArray
double[] doubleArray
String[] strArray

2.
int intArray[]
double doubleArray[]
String strArray[]

 
 

반응형

관련글 더보기

댓글 영역