크리스의 개발일기

[JAVA] new 연산자란? 본문

JAVA

[JAVA] new 연산자란?

ChrisJang 2020. 11. 12. 12:51

new 연산자란? 


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

 


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

- new 연산자를 통해 메모리(Heap 영역)에 데이터를 저장할 공간을 할당받고 그 공간의 참조값(reference value /해시코드)을 객체에게 반환하여 주고 이어서 생성자를 호출하게 된다.

- 인스턴스를 핸들하기 위해서는 new 연산자를 통해 참조값을 저장한 객체로만 접근이 가능하다. 

 

 

객체 선언, 인스턴스 생성, new 연산자 역할, 인스턴스 핸들하는 방법을 예제를 통해서 확인해 보자.

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);
	}
}

public class NewEx01 {
	public static void main(String[] args) {
		NewExSub nes = null; // NewExSub 타입의 nes 객체 선언
		nes = new NewExSub(); 
        // new : 인스턴스 생성, Heap 메모리 공간 할당, 객체(nes)에게 참조값 리턴
		System.out.println(nes); // 출력 : @15db9742(참조값)
		nes.sum(0, 20); // 객체 참조값 이용 NewExSub의 sum메소드 호출 / 매게변수 전달
	}
}
[출처] [JAVA/자바] new 연산자|작성자 JOKER

 

 

출처 : 

blog.naver.com/PostView.nhn?blogId=heartflow89&logNo=220955262405

Comments