java/ㄴ CHAPTER 6. 객체지향 프로그래밍 1

CHAPTER 6. (3) 멤버 변수란? (지역, 인스턴스, 클래스 변수, 메서드 포함)

Astaroth아스 2020. 3. 23. 19:08

멤버변수
 - 클래스 변수 (static이 붙은 것)
 - 인스턴스 변수 (static이 붙지 않은 것) 

인스턴스 변수
 - 인스턴스 생성시 만들어짐
 - 사용하려면 먼저 인스턴스를 생성해야 함
 - 별도의 저장공간을 가짐 (인스턴스 변수마다 서로 다른 값을 가짐)
ex.int iv;
카드의 색깔, 무늬

클래스 변수
 - 인스턴스 변수 앞에 static을 붙임
 - ★ 한 클래스의 모든 인스턴스들이 공통된 값을 유지해야하는 속성을 클래스 변수로 선언함
ex.static int iv;
카드들의 공통된 넓이, 폭

지역변수
 - 멤버변수를 제외한 나머지 변수 

 - 메서드 내에서 선언, 메서드 내에서만 사용 가능
 - 메서드 종료 시 소멸 (사용 불가)



메서드
 - 특정 작업을 수행하는 일련의 수행문들을 하나로 묶은 것
 - 선언부, 구현부로 이루어짐

 



선언부
 - 메서드 이름, 매개변수 선언, 반환타입 으로 이루어짐
 - 작업 수행을 위해 어떤 값이 필요, 어떤 타입 반환하는지의 정보 제공

ex.
int add (int x, int y)
 ㄴ int : 반환 타입
 ㄴ add : 메서드 명
 ㄴ int x, int y : 매개변수 선언

매개변수
 - 메서드가 작업 수행할 때 필요한 값을 제공받기 위한 것
 - 두 변수 타입이 같아도 타입 생략 불가
 - 갯수 제한 없음(하지만 많은 경우 배열이나 참조변수 이용 추천)
 - 입력받을 필요 없을 시 ()안에 아무것도 적지 않음

반환 타입
 - 작업 수행 결과 반환값(return)
 - 반환값 없는 경우 반환 타입은 void



구현부
 - 메서드 호출 시 수행될 문장들 {}

return문
 - 반환타입이 void가 아닌 경우, return 반환값 반드시 포함
 - return문은 단 하나의 값만 반환 가능

지역변수
 - 메서드 내에 선언된 변수 (그 메서드 내에서만 사용 가능)
 => 즉, 서로 다른 메서드라면 같은 이름 변수 선언 가능



매개변수(parameter)와 인자(argument) 차이?

인자
 - 메서드 호출 시 괄호 안에 지정한 값
 ex. int add(3, 5)

매개변수
 - 메서드 호출 시 호출된 메서드의 타입, 개수
 ex. int add(int x, int y)