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