새소식

Back/Java

클래스

  • -

목차


  • 클래스
  • 메서드
  • 생성자
  • 생성자 정의
  • 클래스의 인스턴스화 키워드 'new'
  • this




클래스


  • 객체를 정의 하는 설계 도면 이다.
    • 붕어빵을 만드려면 기계가 있어야 하는데 클래스가 붕어빵을 만드는 기계가 된다.
  • 클래스의 특성
    • 필드 변수
    • 생성자
    • 메서드
// 붕어빵 기계
class FishBreadMachine {

    // 필드 변수
    private String taste;   // 맛
    private int price;      // 가격
    private int count;      // 개수


    // 생성자
    // 붕어빵 틀
    public FishBreadMachine() { }


    // 메서드
    public void intro() {
        System.out.println("This is fish bread machine");
    }
}




메서드


  • 클래스와 관련된 특정 작업을 수행 한다.
    • 붕어빵 기계는 붕어빵 틀을 이용하여 '붕어빵을 만든다.'
    • 위 내용에서 붕어빵을 만드는 기능을 수행 하는 것이 메서드 이다.
// 붕어빵 기계
class FishBreadMachine {

  // 필드 변수
  private String taste;   // 맛
  private int price;      // 가격
  private int count;      // 개수

  // 메서드
  public void intro() {
    System.out.println("This is fish bread machine");
  }


  // 메서드
  // 남은 붕어빵의 개수를 확인
  public int getCount() {
    if (this.count < 0) {
      return 0;
    }
    return this.count;
  }


  // 메서드
  // 붕어빵을 만든다.
  public void makeFishBread() {
    if (this.count < 0) {
      this.count = 1;
    } else {
      this.count = count + 1;
    }
  }
}




생성자


  • 클래스를 초기화 하는 코드 이다.
    • 붕어빵 기계의 붕어빵 틀 이라고 생각 하면 된다.
  • 생성자는 리턴 타입이 존재하지 않는다.
    • 접근제한자 생성자명() {} 으로 구성되어 있다.
  • 생성자 명은 클래스 이름과 같아야 한다.
  • 붕어빵 기계의 틀에 기본 적으로 팥 맛이 들어가 있다.
    • 만약 기본 생성자만 있거나 생성자 자체가 있지 않으면 컴파일러가 기본 생성자를 생성 한다.
    • 기본 생성자가 아닌 다른 생성자(팥빵 생성자)가 있다면 기본 생성자를 꼭 선언 해야 한다.
// 붕어빵 기계
class FishBreadMachine {

    // 필드 변수
    private String taste;   // 맛
    private int price;      // 가격
    private int count;      // 개수


    // 기본 생성자
    // 붕어빵 틀
    public FishBreadMachine() { }


    // 팥빵 생성자
    // 팥빵 틀
    public FishBreadMachine(int price, int count) {
        this.taste = "RedBean"; // 기본적으로 팥 맛 이다.
        this.price = price;
        this.count = count;
    }
}




클래스의 인스턴스화 키워드 'new'


  • new 키워드로 클래스의 인스턴스를 생성할 수 있다.
  • 클래스 클래스명 = new 생성자() 로 인스턴스를 생성 한다.
    • 붕어빵 틀을 붕어빵 기계에 조립한 것과 같다.
  • new 키워드로 생성된 변수는 컴퓨터의 메모리에 객체로 할당 된다.
package classes;

// 붕어빵 기계
class FishBreadMachine { }

public class ClassBasic {

    public static void main(String[] args) {

        // 클래스 초기화 (인스턴스 생성)
        // 붕어빵 기계에 붕어빵 틀을 조립한다.
        FishBreadMachine fishBreadMachine = new FishBreadMachine();
    }
}




this


  • 생성된 인스턴스 자기 자신을 가르킨다.
  • 클래스 내부 생성자와 메서드에서 사용할 수 있다.
// 붕어빵 기계
class FishBreadMachine {

    // 필드 변수
    private String taste;   // 맛
    private int price;      // 가격
    private int count;      // 개수


    // 기본 생성자
    // 붕어빵 틀
    public FishBreadMachine() { }


    // 팥빵 생성자
    // 팥빵 틀
    public FishBreadMachine(int price, int count) {
        this.taste = "RedBean"; // 기본적으로 팥 맛 이다.
        this.price = price;
        this.count = count;
    }
}




최종 코드


package classes;

// 붕어빵 기계
class FishBreadMachine {

    // 필드 변수
    private String taste;   // 맛
    private int price;      // 가격
    private int count;      // 개수


    // 기본 생성자
    // 붕어빵 틀
    public FishBreadMachine() { }


    // 팥빵 생성자
    // 팥빵 틀
    public FishBreadMachine(int price, int count) {
        this.taste = "RedBean"; // 기본적으로 팥 맛 이다.
        this.price = price;
        this.count = count;
    }


    // 메서드
    public void intro() {
        System.out.println("This is fish bread machine");
    }


    // 메서드
    // 남은 붕어빵의 개수를 확인
    public int getCount() {
        if (this.count < 0) {
            return 0;
        }
        return this.count;
    }


    // 메서드
    // 붕어빵을 만든다.
    public void makeFishBread() {
        if (this.count < 0) {
            this.count = 1;
        } else {
            this.count = count + 1;
        }
    }
}


public class ClassBasic {

    public static void main(String[] args) {

        // 클래스 초기화(인스턴스 생성)
        // 붕어빵 기계에서 기본 생성자로 붕어빵 틀을 생성
        FishBreadMachine fishBreadMachine = new FishBreadMachine();

        // 클래스 초기화(인스턴스 생성)
        // 붕어빵 기계에서 팥빵 생성자로 팥 붕어빵 틀을 생성
        // FishBreadMachine fishBreadMachine = new FishBreadMachine(1000, 0);

        // 붕어빵을 만든다.
        fishBreadMachine.makeFishBread();

        // 붕어빵의 개수를 확인한다.
        int count = fishBreadMachine.getCount();
        System.out.println("붕어빵 개수 : " + count + " 개");
    }
}




'Back > Java' 카테고리의 다른 글

상속과 추상 그리고 final  (0) 2022.06.26
JUnit  (0) 2022.06.18
문법 (제어문, 조건문, 반복문)  (0) 2022.06.12
연산자  (0) 2022.06.01
자바 데이터 타입, 변수 그리고 배열  (0) 2022.05.29
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.