반응형
객체란 공간을 차지하는 사물로써 프로그래밍으로써 객체는 메모리 공간을 차지하는 사물의 일부데이터 집합이다. 이러한 객체는 클래스로써 표현할 수 있으며 클래스는 멤버변수와 생성자 메서드를 가진다고 볼 수 있다. 멤버변수는 클래스내에서 지정하는 값이며 클래스를 나타낼 수 있는 대표적인 값이라고 생각하자. 그리고 우리는 객체 생성시 필요한 초기값을 설정하는데 이것을 생성자라고 약속 지었다. 그렇다면 지금 만들어진 클래스는 멤버변수와 만들어졌을 때 필요한 초기값을 설정하는 생성자만 있다. 즉, 클래스의 기능을 나타내줄 무언가가 없는데 이것이 바로 메소드이다.
public class C00Info {
//객체(일반) : 존재(공간을 차지) 사물
//인스턴스(자바객체) : 메모리 공간을 차지하는 사물의 일부데이터 집합
//객체의 구성요소
//속성:지니고 있는것,명사형, 멤버변수로 공간형성
//기능:할 수 있는것,동사형,멤버매서드로 구성
//클래스?
//동일한 종류의 객체를 생성하기 위해 미리 선언된 자료형
//CF)기본자료형 : int,double,float,char,..boolean
//객체 생성 기본 코드
//클래스자료형 참조변수 = new 클래스생성자();
//new : 객체의 저장위치 지정(힙영역)
//클래스 생성자 매서드: 객체 생성시 필요한 초기값을 설정
//참조변수 : 생성된 객체를 연결해서 사용하기 위한 변수
// cf) 자바의 메모리 블럭
// 스택영역 :참조변수,일반변수 저장 {}내에서 생성 {}벗어나면 공간 소멸
// 힙영역 :객체 new 예약어 생성 , 소멸은 가비지컬렉터에 의해 자동(참조변수=null)
// 클래스(매서드)영역 :공유메모리 영역
//1) 2) 3) 4)
//Scanner sc = new Scanner(System.in);
//1) Scanner : 클래스 자료형
//2) sc : 참조변수
//3) new : 힙영역에 객체 생성
//4) Scanner() : 생성자, 멤버변수의 초기값을 설정
}
기본 객체 생성(method x)
public class C01Car {
String owner; //멤버변수
int speed; //멤버변수
int fuel; //멤버변수
}
public class C01CarMain {
public static void main(String[] args) {
C01Car hong = new C01Car();
hong.owner="홍길동";
hong.speed=0;
hong.fuel=100;
System.out.println("소유자 : " + hong.owner);
System.out.println("현재속도 : " + hong.speed);
System.out.println("연료량 : " + hong.fuel);
}
}
class C02Person{
String name;
int age;
}
public class C02PersonMain {
public static void main(String[] args) {
C02Person hong=new C02Person();
hong.name="홍길동";
hong.age=40;
}
}
기본 객체 생성(method o)
class C04Computer{
String SN;
String CPUSpec;
String RAMSpec;
String DISKSpec;
//컴퓨터를 키고 끄고 컴퓨터의 내용을 보여주는 메소드 생성
void PowerON() {
System.out.println(SN + "전원을 켭니다");
}
void PowerOFF() {
System.out.println(SN + "전원을 끕니다");
}
void ShowInfo() {
System.out.println("SN : " + SN);
System.out.println("CPU : " + CPUSpec);
System.out.println("RAM : " + RAMSpec);
System.out.println("DISK : " + DISKSpec);
}
}
public class C04ComputerMain {
public static void main(String[] args) {
C04Computer LGGram1122 = new C04Computer();
LGGram1122.SN ="11-22-33";
LGGram1122.CPUSpec="I7";
LGGram1122.RAMSpec="16G";
LGGram1122.DISKSpec="1T";
LGGram1122.PowerON();
LGGram1122.ShowInfo();
LGGram1122.PowerOFF();
}
}
반응형
'JAVA' 카테고리의 다른 글
캡슐화 (0) | 2022.11.08 |
---|---|
접근제한자 (0) | 2022.11.08 |
WHILE (0) | 2022.06.06 |
IF (0) | 2022.06.06 |
연산자 (0) | 2022.06.06 |