햄코딩
DAY 9 본문
220426
220426
Ch042Ex04
멤버 변수(member variable)
- class를 구성하는 변수, class의 속성 (ex. 사람 : class, 이름 : 멤버 변수)
- method가 아닌 class 내부에 선언된 변수
- 효력 범위 : class 내부
- class가 살아 있는 동안 같이 살아 있다.
지역 변수(local variable)
- 특정한 지역에서만 의미를 가지는 변수
- 주로 메소드 내부에 선언되는 변수를 의미
- ()소괄호 내부에서 선언된 변수
- 클래스 중괄호가 아닌 다른 중괄호{}들에서 선언된 변수
- 메소드가 실행될 때만 만들어 졌다가, 메소드가 종료되면 사라진다.
- 지역변수는 선언된 (), {} 밖에서는 접근이 안된다.
멤버 변수와 지역 변수
- 멤버 변수는 class가 new를 통해 메모리에 올라가서, 사라지기 전까지 존재.
- 지역 변수는 메소드가 실행될 때만 메모리에 올라가서, 메소드 실행이 끝나면 사라진다.
- 멤버 변수와 지역 변수는 같은 이름을 사용할 수 있으나, 일반적으로 같은 변수명은 피함.
- 멤버 변수와 지역 변수의 이름이 같을 때, 지역 변수를 먼저 적용★ Ch042Ex07
Ch042Ex07 - 멤버 변수와 지역 변수의 이름이 같을 때, 지역 변수를 먼저 적용★
this.memberVar
- . : ~의 안에 있다. a.b : a안에 b있다.
- this 안에 memberVar 있다는 의미
- 그렇다면, this는? 현재 instance(정확한 의미)
- this.memberVar : 현재 class 안에 있는 memberVar(이해를 돕기 위한 의미)
Ch042Ex08 - 메소드
method의 정의
- class는 현실 세계를 모델링한 설계도 - 현실 세계의 대상을 표현한 주제가 있다.
- 예) 음료수 자판기 : 음료수, 투입 행위, 배출 행위 등의 요소들로 표현 가능
- class memeber : class를 표현한 것. (음료수, 투입 행위, 배출 행위)
- 투입 행위, 배출 행위와 같이 동작을 담당하는 것이 method.
method의 구성
- return type
- 메소드를 사용했을 때, 그 메소드에서 돌려주는 값의 데이터 형태(int, double, String 등)를 알려준다.
- 자판기의 진열대
- return : 돌려주는 행위
- void : return type 없음, return 없음, 돌려주는 값 없음, return 사용 안함.
- name
- 메소드의 동작이 잘 나타나도록 만든다.
- 첫문자 소문자, 이어지는 단어의 첫문자 대문자, 숫자 가능하지만 맨 앞 불가, 특수문자 비권장
- arguments
- 메소드를 수행하기 위해 필요한 data를 외부에서 입력 받는 공간
- method의 장점
- 코드의 재사용성 : 한 번 만들어 놓은 메소드는 재 사용 가능. →코드의 모듈화, 코드의 중복 회피, 개발 기간 단축, 유지보수를 쉽고 빠르게.
Ch042Ex09 - method call, method 흐름★

Ch042Ex10 - Method Overload(Method Overloading)★★★★★
Q. JRE가 자바 프로그램을 실행 시킨다.그렇다면, JRE는 메소드를 어떻게 구분하는가?
A. 메소드이름 + arguments로 구분 → 이름 또는 arguments 둘 중 하나만 다르면 다른 메소드다.
- 메소드 이름이 같아도, arguments가 다르면 다른 메소드로 인식한다.
- 메소드 이름과 arguments가 같으면 error
Method Overload (Method Overloading)
- 하나의 class에 arguments가 다르고, 이름은 동일한 메소드를 여러 개 선언 가능하다.
- 기능적으로는 같으나, 수행을 위해 받는 데이터가 다른 경우 사용한다.
- 동일한 기능을 수행한다면 다루는 데이터가 다르더라도, 하나의 통일된 이름으로 접근하는 것이 복잡도를 낮춘다.
- 예) System.out.println("문자열"); System.out.println(123);