반응형
클래스
* 클래스 : 객체의 구조를 정의하는 곳 (속성(필드, 멤버변수), 생성자, 함수(메서드))
* 객체(인스턴스) : 클래스로부터 생성되며 new 생성자함수() 이용해서 생성함
* new 연산자 : 객체 생성 연산자이며, 생성자함수를 호출하고, 힙 메모리 영역에 객체를 저장함
* 사용법 : 클래스 객체변수 = new 생성자함수();* 객체변수 : 힙 메모리 주소(방번호)가 저장됨
package chap06.sec02.exam01;
/**
* packageName : chap06.sec02.exam01
* fileName : Car
* author : GGG
* date : 2023-09-19
* description : 자동차 클래스
* 요약 :
* 클래스 : 객체의 구조를 정의하는 곳 (속성(필드, 멤버변수), 생성자, 함수(메서드))
* 객체(인스턴스) : 클래스로부터 생성되며 new 생성자함수() 이용해서 생성함
* new 연산자 : 객체 생성 연산자이며, 생성자함수를 호출하고, 힙 메모리 영역에 객체를 저장함
* 사용법 : 클래스 객체변수 = new 생성자함수();
* 객체변수 : 힙 메모리 주소(방번호)가 저장됨
*
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-19 GGG 최초 생성
*/
public class Car {
// 클래스의 3요소 : 속성, 생성자함수, 함수(메서드)
// TODO: 속성(필드, 멤버변수)
String compnay = "현대자동차";
String model = "그랜저";
String color = "검정";
int maxSpeed = 350;
int speed; // 기본 초기화(0)
}
package chap06.sec02.exam01;
/**
* packageName : chap06.sec02.exam01
* fileName : CarApplication
* author : GGG
* date : 2023-09-19
* description : 실행 클래스
* 요약 :
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-19 GGG 최초 생성
*/
public class CarApplication {
public static void main(String[] args) {
// 객체 생성 : 클래스명 객체변수명 = new 생성자함수();
// 생성자 함수명 == 클래스명
Car car = new Car();
// TODO: 클래스의 속성 출력하기
// 사용법 : 객체변수명.속성명
System.out.println("제작회사 : "+ car.compnay);
System.out.println("모델명 : "+ car.model);
System.out.println("색상 : "+ car.color);
System.out.println("최고속도 : "+ car.maxSpeed);
System.out.println("현재속도 : "+ car.speed); // 기본값 출력
// car 클래스 속성값 수정 수정
// 현재속도를 수정해보기 (car.speed)
car.speed = 60;
// 결과출력
System.out.println("수정된 현재속도 : "+ car.speed);
}
}
자동 속성 초기화
속성을 선언만 하고 출력할 때 기본값이 무엇인지 알아봅시다.
package chap06.sec02.exam02;
/**
* packageName : chap06.sec02.exam02
* fileName : FieldInit
* author : GGG
* date : 2023-09-20
* description : 자동 속성 초기화
* 요약 :
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-20 GGG 최초 생성
*/
public class FieldInit {
// TODO: 클래스의 3요소 = 속성(필드), 생성자함수, 함수(메서드)
// 정수 : byte, short, int, long
byte bField;
short sField;
int iField;
long lField;
// 실수 : float, double
float fField;
double dField;
// char / boolean
char cField;
boolean boField;
// String / int[]
String strField;
int[] arrField;
}
package chap06.sec02.exam02;
/**
* packageName : chap06.sec02.exam02
* fileName : FiledApplication
* author : GGG
* date : 2023-09-20
* description :
* 요약 :
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-20 GGG 최초 생성
*/
public class FiledApplication {
public static void main(String[] args) {
// TODO: 클래스명 명명법 : 첫글자 대문자 나머지 소문자, 단어사이는 대문자(파스칼표기법)
FieldInit fieldInit = new FieldInit();
// 정수
System.out.println("byte : " + fieldInit.bField);
System.out.println("short : " + fieldInit.sField);
System.out.println("int : " + fieldInit.iField);
System.out.println("long : " + fieldInit.lField);
// 실수
System.out.println("float : " + fieldInit.fField);
System.out.println("double : " + fieldInit.dField);
// char / boolean
System.out.println("char : " + fieldInit.cField);
System.out.println("boolean : " + fieldInit.boField);
// String / int[]
System.out.println("String : " + fieldInit.strField);
System.out.println("int[] : " + fieldInit.arrField);
}
}
[ 출력 결과 ]
연습문제
/**
* Member 객체를 생성하고 속성에 아래의 값으로 저장한 후 속성의 값을 출력하세요
* 결과 :
* 이름 : 최하얀
* id : 23
*/
package chap06.sec02.verify;
/**
* packageName : chap06.sec02.verify
* fileName : Member
* author : GGG
* date : 2023-09-20
* description : 회원 정보 클래스
* 요약 :
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-20 GGG 최초 생성
*/
public class Member {
String name; // 회원명
String id; // 회원 아이디
String password; // 회원 패스워드
int age; // 나이
}
package chap06.sec02.verify;
/**
* packageName : chap06.sec02.verify
* fileName : MemberApplication
* author : GGG
* date : 2023-09-20
* description : 실행클래스
* 요약 :
* <p>
* ===========================================================
* DATE AUTHOR NOTE
* —————————————————————————————
* 2023-09-20 GGG 최초 생성
*/
public class MemberApplication {
public static void main(String[] args) {
/**
* Member 객체를 생성하고 속성에 아래의 값으로 저장한 후 속성의 값을 출력하세요
* 결과 :
* 이름 : 최하얀
* id : 23
*/
Member member = new Member();
member.name = "최하얀";
member.id = "23";
System.out.println("이름 : " + member.name);
System.out.println("id : " + member.id);
}
}
반응형
'Java > Java 이론' 카테고리의 다른 글
생성자 (0) | 2023.09.20 |
---|---|
생성자 함수 (0) | 2023.09.20 |
[JAVA 다시보기] 자바기초 (1) | 2023.09.19 |
문자열 자료형 (1) | 2023.09.08 |
[JAVA] 참조변수의 형변환 (0) | 2023.08.11 |