일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 옵셔널
- Xcode
- 클래스
- Gradle
- PHP
- amazon
- DatePicker
- 사용법
- CodeIgniter
- 차이점
- 객체
- bootstrap
- Spring
- EC2
- AWS
- switch-case
- 2차원 객체배열
- 자료불러오기
- programmers
- SWiFT
- 제어문
- jQuery
- 상속
- pagination
- 함수
- Java
- class
- CKEditor4
- guard
- 전의 의존성
Archives
- Today
- Total
not bad 한 개발
Java - 객체 생성과 사용 본문
(이 글의 내용은 YouTube의 남궁성의 정석코딩 채널의 강의를 듣고 배운 내용을 포스트 하겠습니다.)
https://youtube.com/playlist?list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp
객체 생성
클래스를 활용하려면 객체를 만들어야 하는데 지금부터 객체를 생성하는 것을 보여드리겠습니다.
//클래스명 변수명;
//변수명 = 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