본문 바로가기

자바

new 연산자

new 연산자

 

클래스객체 변수 = new 클래스();

 

인스턴스(객체)를 생성할 때 사용하는 코드이며 객체 변수가 실제 데이터가 아닌 참조 값을 갖는다는 내용이 포함되어 있다. 그러면 저기에서 사용되는 new 라는 것은 무엇인지 알아보자.

 

new는 클래스 타입의 인스턴스(객체)를 생성해주는 역할을 담당한다. 

new 연산자를 통해 메모리(heap 영역)에 데이터를 저장할 공간을 할당받고 그 공간의 참조값(reference value/해시코드)을 객체에게 반환하여 주고 이어서 생성자를 호출하게 된다. 인스턴스를 핸들하기 위해서는 new 연산자를 통해 참조값을 저장한 객체로만 접근이 가능하다.

 

예제

package main01;

public class MainSample {

	public static void main(String[] args) {
		NewExSub nes = null;	// NewExSub 타입의 nes 객체 선언
		
		nes = new NewExSub();
		// new : 인스턴스 생성, Heap 메모리 공간 할당, 객체(nes)에게 참조값 리턴
		
		System.out.println(nes);
		nes.sum(0, 10);
		// 객체 참조값 이용 NewExSub의 sum 메소드 호출
	}
}

class NewExSub {
	
	public void sum(int a, int b) {
		
		// int a = 0, int b = 20;
		
		int sum = 0, odd = 0, even = 0;	// 초기값 설정
		
		for(int i = a; i <=b; i++) {
			sum += i;	// 총합 합계
			
			if(i % 2 == 0) {
				even += i;	// 짝수합
			}else {
				odd += i;	// 홀수합
			}
		}
		
		System.out.println(a + "~" + b + "까지의 합 : " + sum);
		System.out.println(a + "~" + b + "까지의 짝수합 : " + even);
		System.out.println(a + "~" + b + "까지의 홀수합 : " + odd);
	}
}

main01.NewExSub@15db9742
0~10까지의 합 : 55
0~10까지의 짝수합 : 30
0~10까지의 홀수합 : 25

 

출처:

blog.naver.com/heartflow89/220955262405

'자바' 카테고리의 다른 글

람다  (0) 2020.11.09
java의 .properties 파일 읽기  (0) 2020.11.09
java null  (0) 2020.11.09
Class Proxy  (0) 2020.10.28
Class ServerSocket  (0) 2020.10.28