절차지향 : 처리중심 -> 객체지향 : 설계중심
*class MyClass{ //class의 설계
변수(멤버변수) - 접근지정(외부, 내부)
함수(메소드) - 처리
}
*클래스명 변수(instance) = new 클래스명();
MyClass cls = new MyClass(); //동적할당 없이 사용 불가
->stack영역 -> heap영역
기존방식
//TV -> 2대
String name[] = new String[2]; //삼성, LG
int channel[] = new int[2]; //채널 수
boolean power[] = new boolean[2]; // on/off
//String
name[0] = "삼성"; //거실
name[1] = "LG"; //방
channel[0] = 11;
channel[1] = 23;
power[0] = true;
power[1] = false;
객체 방식
TV tv1 = new TV(); //tv -> instance(주체): 메모리상에 존재하는 요소
tv1.getInput("LG", 11, true);
tv1.method();
TV tv2 = new TV(); //tv2 -> object라고도 한다
tv2.getInput("삼성", 23, false);
tv2.method();
//배열만을 동적할당
TV arrTv[] = new TV[3]; // = TV arrTv1, arrTv2, arrTv3;
//객체를 동적할당
for (int i = 0; i < arrTv.length; i++) {
arrTv[i] = new TV();
}
arrTv[0].getInput("aaa", 1, true);
arrTv[1].getInput("bbb", 2, true);
arrTv[2].getInput("ccc", 3, true);
arrTv[1].setPower(false);
arrTv[2].setPower(false);
for (int i = 0; i < arrTv.length; i++) {
arrTv[i].method();
}
---------------------------------------------------------------------
public class TV { //class 설계(정의)
String name;
int channel;
boolean power;
// int movie;
public void getInput(String n, int c, boolean p) {
name = n;
channel = c;
power = p;
}
public void setPower(boolean p) {
power = p;
}
public void method() {
System.out.println("name = "+name);
System.out.println("channel = "+channel);
System.out.println("power = "+power);
}
String student1[][] = {
{"홍길동","24","98","100"},//0
{"일지매","21","80","90"},//1
{"임꺽정","17","70","100"},//2
};// 0 1 2 3
Student student2 = new Student();
student2.setName("홍길동");
student2.setAge(24);
student2.setEng(98);
student2.setMath(100);
Student student3 = new Student();
student3.setName("일지매");
student3.setAge(24);
student3.setEng(98);
student3.setMath(100);
}
-------------------------------------------------------------------
public class Student {
String name;
int age;
int eng;
int math;
public void setName(String n) {
name = n;
}
public void setAge(int a) {
age = a;
}
public void setEng(int e) {
eng = e;
}
public void setMath(int m) {
math = m;
}
'JAVA > 객체 코드' 카테고리의 다른 글
객체 3대 특징 (0) | 2020.06.03 |
---|---|
constructor 생성자 (0) | 2020.06.02 |
객체 3대 특징 - 은닉성( 캡슐화 ) (0) | 2020.06.02 |
객체 // 야구게임 (0) | 2020.06.01 |
객체//Sorting (0) | 2020.06.01 |