not bad 한 개발

Java - 객체 생성과 사용 본문

Java/Java class

Java - 객체 생성과 사용

leebean 2022. 3. 29. 09:47

(이 글의 내용은 YouTube의 남궁성의 정석코딩 채널의 강의를 듣고 배운 내용을 포스트 하겠습니다.)

https://youtube.com/playlist?list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp 

 

자바의 정석 기초편(2020최신)

최고의 자바강좌를 무료로 들을 수 있습니다. 어떤 유료강좌보다도 낫습니다.

www.youtube.com

 

 객체 생성 

클래스를 활용하려면 객체를 만들어야 하는데 지금부터 객체를 생성하는 것을 보여드리겠습니다.

//클래스명 변수명;
//변수명 = new 클래스명();

//클래스명 변수명 = new 클래스명();

test t1; // test클래스 타입의 참조변수 t1을 선언
t1 = new test(); // test인스턴스를 생성한 후, 생성된 test인스턴스의 주소를 t1에 저장

test t1 = new test();// t1 참조변수 선언과 동시에 test인스턴스의 주소를 참조변수 t1에 저장
  • 클래스명 변수명; 은 클래스의 객체를 참조하기 위해 참조변수를 먼저 선언합니다.
  • 변수명 = new 클래스명(); 은 클래스의 객체를 생성 후, 객체의 주소를 참조변수에 저장합니다.
  • 클래스명 변수명 = new 클래스명(); 은 클래스의 참조변수를 선언과 동시에 인스턴스의 주소를 참조변수에 저장하는 방법입니다.

 

 객체의 특징 및 주의사항 

  • 객체는 인스턴스라고 부릅니다, 결국 객체는 인스턴스라고 봐도 무안합니다. 

클래스, 객체, 인스턴스의 관계를 나타내는 이미지입니다.

 

  • 하나의 인스턴스가 여러 개의 참조변수를 가리키는 것은 가능합니다.

 

  • 여러개의 인스턴스를 하나의 참조변수에 저장하는 것은 불가능합니다.

  • 객체지향 개념에서 참조변수가 없으면 객체를 사용할 수 없습니다.
  • 사용할 수 없는 메모리는 GC(가비지 컬렉터)를 통해 메모리의 불필요한 공간을 최소화할 수 있습니다.

 

(객체 생성 예시 1 : 객체의 기본적인 사용법)

class num{
    int num1; // 멤버변수
    String str1; // 멤버변수
    boolean trfa; // 멤버변수
    void display(){ // 멤버메서드
        System.out.printf("display 함수호출%n");
    }
}
public class test {
    public static void main(String[] args) {
        num n = new num();
        // num클래스 타입의 참조변수 n선언 후 num인스턴스를 생성하고
        // 생성된 num인스턴스의 주소를 n에 저장
        System.out.printf("%d%n",n.num1);
        // n인스턴스의 num1 멤버변수를 출력
        System.out.printf("%s%n",n.str1);
        // n인스턴스의 str1 멤버변수를 출력
        System.out.printf("%s%n",n.trfa);
        // n인스턴스의 trfa 멤버변수를 출력
        n.display();
        // n인스턴스의 display 멤버 메서드를 호출
    }
}

 

(객체 생성 예시 : 초기값, 반복할 횟수를 입력하면 초기값에 1씩 반복할 횟수만큼 더하여 결과를 리턴)

import java.util.Scanner;

class Wheel{ // Wheel 클래스 선언
    int op1; // 멤버변수
    int op2; // 멤버변수
    int turn(int sum, int turn_count){ // 멤버 메서드
        int result = 0;
        for(int cnt = 1; cnt <= turn_count; cnt++){
            // cnt를 1로하고 매개변수로 입력한 turn_count만큼 반복
            result = sum + cnt;
            // 멤버 메서드에 입력한 매개변수를 1씩 더한 값을 result에 저장
        }
        return result; // result를 리턴
    }
}
public class test {
    public static void main(String[] args) {
        Wheel wheel = new Wheel(); // wheel참조변수를 선언과 동시에 Wheel인스턴스 주소를 wheel참조변수에 저장
        Scanner scan = new Scanner(System.in); // scan 객체 선언
        System.out.printf("초기값을 작성하십시오 : ");
        wheel.op1 = scan.nextInt(); // Wheel 클래스의 op1멤버변수에 정수형 입력값을 저장
        
        System.out.printf("반복할 횟수를 작성하십시오 : ");
        wheel.op2 = scan.nextInt(); // Wheel 클래스의 op2멤버변수에 정수형 입력값을 저장
        
        int num = wheel.turn(wheel.op1,wheel.op2);
        // Wheel 클래스의 turn 멤버 메소드를 실행한 후 리턴값을 변수 num에 저장
        System.out.printf("%d을(를) 1씩 %d번 더하면 %d가 나옵니다.",wheel.op1,wheel.op2,num);
    }
}

'Java > Java class' 카테고리의 다른 글

Java - 객체배열  (0) 2022.03.29
Java - 한 파일에 여러 클래스 작성  (0) 2022.03.29
Java - 클래스와 객체  (0) 2022.03.29
Java - 객체지향 프로그래밍  (0) 2022.03.20
Java - JDK 설치 및 Java파일 실행  (0) 2022.03.10
Comments