정리노트

[java]클래스

망고고래 2023. 10. 17. 17:29

Chapter6. 클래스

6-2. 클래스와 객체

1. 클래스

what?

객체를 만들기 위한 설계도와 같은 역할을 한다. 객체의 변수와 함수가 정의되어 있다.

why?

클래스를 만들어두면 필요할 때 인스턴스를 생성해 꺼내어 사용할 수 있다.

how?

 

2. 인스턴스

what?

클래스를 통해 new 명령어로 만들어진 형태.

why?

모든 클래스를 펼쳐놓는 게 아니라 필요한 클래스를 인스턴스로 생성해 하나씩 사용하는 것이 더 효율적이다.

how?

 

3. 클래스의 사용

1) new를 사용해 인스턴스를 생성해야 사용할 수 있다.

2) 선언 및 주소 저장

클래스 객체 참조변수 선언

클래스명 변수명;

참조변수에 객체 주소 저장

변수명 = new 클래스명;

선언과 주소 저장 동시에

클래스명 변수명 = new 클래스명;

①new 사용

②인스턴스 생성

③대입 연산자로 인스턴스 주소 값이 참조변수에 저장

 

*참조변수: 데이터가 아니라 데이터의 주소를 저장하는 변수. 이클립스에서 데이터타입이 검은색으로 표시된다.

 

클래스 생성 예시

생산직원 클래스를 직원1과 직원2라는 참조변수를 사용해 인스턴스를 생성했다.

참조할 클래스는 같은 클래스 파일에 있어도 되고, 다른 클래스 파일에 있어도 된다.

 

인스턴스에 접근하는 방법

변수: 참조변수.변수명

메서드 실행: 참조변수.메서드명();

ex)직원1.제품생산();

 

 

6-3. 인스턴스변수와 클래스변수

인스턴스변수와 클래스변수 비교

  인스턴스 변수 클래스 변수
개수 n개 1개
선언 방법 new static
생성 방법 수동 생성 자동 생성

데이터 타입 앞에 static을 붙여 선언한다.

 

클래스변수의 특징

1. 접근

클래스이름.변수명

참조변수.변수명

2. 자동 생성

static으로 선언된 클래스 변수는 프로그램이 구동되기 전에 미리 생성되어있다.

3. 이클립스에서의 표기

클래스변수는 이탤릭체로 표기된다.

(+전역변수는 파란색, 참조변수는 검은색)

 

new로 생산직원 클래스를 인스턴스로 생성하지 않아도 생산직원 클래스에서 생성된 클래스 변수인 price를 사용할 수 있다.

 

클래스 변수는 유일하다. 때문에 다른 클래스에서 접근해 새로운 값을 대입하면 그 클래스 안에서 대입된 값이 유지된다.

 

 

 

 

6-4. 메서드

1. 메서드

what?

특정 작업을 묶어놓은 것

why?

특정 작업을 미리 지정해두고 필요할 때마다 호출해서 사용할 수 있다.

how?

반환타입 메서드명(타입 변수명, 타입 변수명, ...)
{
  //내부 동작
  return 값;
}

반환 타입이 void인 경우 외에는 반드시 return값이 포함되어있어야 한다.

반환 타입이 void인 경우 return값이 없다.

'정리노트' 카테고리의 다른 글

[java]클래스, this  (0) 2023.10.19
[java] 변수 재정리, 객체지향  (0) 2023.10.18
[java]제어문 연습, 배열  (0) 2023.10.16
[java] 제어문  (0) 2023.10.13
[java] 제어문  (0) 2023.10.12