프로그래밍 언어/Java

[Java] 클래스(Class)

김꿍디꿍디 2024. 4. 4. 09:26
반응형

클래스 구성 요소


  • 필드 (Field)
  • 생성자 (Constructor)
  • 메소드 (Method)

 

필드


객체가 가져야 할 데이터, 상태를 저장하는 변수

선언

접근제어자 타입 변수명 (=데이터);

String brand;

사용 방법

클래스명 객체명 = new 클래스명();

System.out.println(gram.brand); // 메

생성자


객체를 생성하면서 객체 변수를 초기화하는 역할을 하는 특별한 메서드

선언

접근제어자 클래스명() {
코드
}

    Notebook(String brand) {
        this.brand = brand;
    }

사용 방법

Notebook lgNotebook = new Notebook("LG");

생성자 선언 이유

객체를 생성함과 동시에 객체를 초기화할 수 있다.
인스턴스 멤버의 데이터를 초기화할 수도 있다.

초기화
프로그램에 쓸 수 있도록 메모리에 올라간다.

인스턴스 vs 객체
객체는 우리가 클래스로 구현할 어떤 것
인스턴스는 객체를 실체화 시킨 것

생성자 오버로딩

생성자를 다양한 형태로 선언할 수 있다.

기본 생성자

JVM이 자동으로 추가해주기 때문에 직접 생성자를 만들지 않아도 객체 생성을 할 수 있다.

단 하나라도 (매개변수가 있더라도) 생성자를 만들면 만들어주지 않는다.

메서드


객체의 기능을 담당하는 코드 블럭

선언

접근제어자 반환타입 메서드명() {
코드
}

    void printBrand() {
        System.out.printf("this notebook was made by %s\n", brand);
    }

사용 방법

gram.printBrand();

메서드 (매개변수)


선언

접근제어자 반환타입 메서드명(자료형 변수명) {
코드
}

    public void setBrand(String brand) {
        this.brand = brand;
    }

사용 방법

gram.setBrand("LG전자");

참고

Q. 인스턴스와 객체의 차이가 뭔가요?

반응형