본문 바로가기

프로그래밍/Java

객체

객체

Java에서 설계도가 Class(붕어빵 틀)

Class로 만든 객체가 인스턴스(붕어빵)

 

객체 생성과 클래스 변수

Class A를 만듬

public class A{
    
}

 

Class A로 Class A_Test내에

Class A 변수를 생성

public class A_Test{
    A a = new A();
}

 

A(붕어빵 틀)

a(붕어빵)

 

클래스 변수 = new 클래스();

 

 

 

Class의 구성 멤버

public class ClassName{
    int fild;//필드
    
    ClassName(){};//생성자
    
    void method(){};//메소드
}

 

필드

필드는 생성자와 메소드 전체에서 사용되며

객체가 소멸되지 않는 한 객체와 함께 존재

 

생성자

new연산자로 호출되는 블록

객체 생성 시 초기화 담당

필드를 초기화 하거나 메소드를

메소드를 호출해서 객체를 사용할 준비

생성자는 클레스 이름으로 되어있음

 

메소드

객체의 동작

필드를 읽고 수정역활 또는

객체간의 데이터를 전달하는 수단

 

 

예시

public class Car{
    //필드
    String model;
    
    //생성자
    Car(){};

    Car(String model){
        this.model=model;
    }
    
    //메소드
    void getModel(String model){
        this.model=model;
    }
}

 

필드

 

public class CarTest{
    public static void main(String[] args){
        Car myCar = new Car();
        myCar.model="내차";
        System.out.println(myCar.model);
    }
}

 

Class Car로 myCar객체를 생성

myCar로 Car 클래스의 필드 접근

위에 Car 클래스 코드를 보면 

생성자와 메소드에서도 필드를 접근 가능하다

 

생성자

필드설명에 있는

Car myCar = new Car();

에서

new Car();로 객체 생성

 

예시 코드에

Car(String model){this.model=model};로

생성자를 만들었기 때문에

기본생성자인

Car(){};는 자동생성이 안됨

그래서 기본생성자를 만들어 줘야함

 

메소드

 

public class CarTest{
    public static void main(String[] args){
        Car myCar = new Car();
        myCar.getModel("내차");
        System.out.println(myCar.model);
    }
}

 

필드 설명에 있는 코드와 별반 다를게 없어보이지만

필드코드는 객체의 필드를

직접 값을 변경했지만

 

메소드의 코드는 Class의 메소드를 이용해서

객체의 필드 값을 수정해 줌

필드코드와 메소드코드의 결과는 동일

'프로그래밍 > Java' 카테고리의 다른 글

메소드  (0) 2019.12.03
this  (0) 2019.11.11
문자열과 배열  (0) 2019.11.11
문자열 비교  (0) 2019.11.11
향상된 for문  (0) 2019.11.11