JAVA에 코딩을 할 때에 사용자에게 값을 입력받기 위해서 자주 사용하는 구문이 있다.
바로 Scanner sc = new Scanner(system.in);라는 구문인데, 이번 글에서 설명할 new 연산자가 이용된 구문이다.
new 연산자
클래스 객체명 = new 생성자();
간단하게 이야기하면 new 연산자는 메모리에 데이터를 저장할 공간을 할당받게끔 하고,
클래스 안에 객체를 생성해 생성자()의 내용을 객체에 저장해주는 역할을 한다.
public class test{
public static void main(String[] args) {
test A = new test();
// test에 대한 임시 저장 공간을 A라는 이름으로 만들 것이다.
System.out.print(A.plus(3,1)); // 4
System.out.print(A.plus(5,10)); //15
}
int plus(int a, int b){
return a + b;
}
}
앞서 이야기 한 Scanner sc = new Scanner(system.in); 구문으로 사용자에게 값을 입력받을 때,
또는 서브 메서드를 메인 메소드에서 이용할 때에 우리는 이 new 연산자를 이용해 객체를 생성해야 한다.
예시의 경우 main 메소드에서 덧셈을 반복하는 작업을 줄이기 위해 plus 메소드를 만들어
변수 a + b라는 연산 과정을 리턴시켰다.
그러나 main 메소드와 plus 메소드는 독립적인 존재이기 때문에
일반적으로는 main 메소드에서 plus 메소드를 인식할 수 없고, plus 메소드의 지역 변수도 불러올 수 없다.
그래서 new 선언을 이용해 test 클래스에 대한 임시 저장 공간인 객체 A를 만들고
(객체 A에 test 클래스의 메소드들이 저장된다)
A.plus(3,1) → 임시 저장 공간 A의 plus 메소드 변수에 (3,1)을 대입해 출력할 수 있게 되는 것이다.
간단하게 말하면 new 선언을 통해 우리는 외부의 값을 객체화 해 불러와서 사용할 수 있다.
'JAVA' 카테고리의 다른 글
[JAVA] 반복문 - for문 (0) | 2023.03.09 |
---|---|
[JAVA] 조건문(논리문) - 삼항 연산자, if문, switch case문 (0) | 2023.03.06 |
[JAVA] 연산자와 전후위연산 (0) | 2023.02.24 |
[JAVA] 출력문 함수 System.out.println / print / printf (0) | 2023.02.23 |
변수 - 자료형과 변수명 (0) | 2023.02.23 |