반응형

클래스


* 클래스 : 객체의 구조를 정의하는 곳 (속성(필드, 멤버변수), 생성자, 함수(메서드))
* 객체(인스턴스) : 클래스로부터 생성되며 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

+ Recent posts