메소드
멤버 메소드
C언어의 함수와 비슷합니다.
데이터 처리 기능을 구현합니다.
리턴값이 없는 메소드는 void 형을 지정합니다.
메소드가 받는 인수의 데이터 타입은 메소드를 호출하는 쪽과 일치해야 합니다.
Method Overloading(중복 정의), Overriding(재정의)기술로 확장 됩니다.
메소드가 리턴하는 값과 리턴되는 값의 데이터 타입은 일치해야 합니다.
메소드를 사용하지 않은 경우
PayCalc2.java
public class Pay2 {
//멤버 변수, 인스턴스 변수, 필드
String name;
int bonbong;
int tax;
int silsu;
}public class PayCalc2 {
public static void main(String[] args) {
//┌ Class
//↓
Pay2 p1 = new Pay2();
Pay2 p2 = new Pay2();
// ↑
// └ 객체, 객체 변수
p1.bonbong = 2000000;
p1.name = "왕눈이";
p1.tax = (int)(p1.bonbong * 0.05 + 0.5);
p1.silsu = p1.bonbong - p1.tax;
p2.bonbong = 2500000;
p2.name = "아로미";
p2.tax = (int)(p2.bonbong * 0.05 + 0.5);
p2.silsu = p2.bonbong - p2.tax;
System.out.println("성명: " + p1.name);
System.out.println("본봉: " + p1.bonbong);
System.out.println("세금: " + p1.tax);
System.out.println("실수령액: " + p1.silsu);
System.out.println("성명: " + p2.name);
System.out.println("본봉: " + p2.bonbong);
System.out.println("세금: " + p2.tax);
System.out.println("실수령액: " + p2.silsu);
}
}메소드를 사용한 경우
Pay.java
PayCalc.java
리턴값이 있는 메소드의 사용
PayCalc.java
Pay.java
클래스의 분리
Pay.java
PayCalc.java
메소드를 이용해 성적프로그램 만들기. Sungjuk, SungjukUse
Sungjuk.java
SungjukMgr.java
SungjukUse.java
변수의 유효 범위(scope)
멤버 변수(Instance 변수)
변수가 메소드 밖에 선언되는 변수를 말합니다.
멤버변수, 인스턴스 변수, 필드라고 합니다.
멤버 변수는 모든 메소드가 사용할 수 있습니다.
메모리 모델에서 Heap 메모리를 이용합니다.
변수의 사용이 끝나도 클래스의 객체 자체가 GC에 의해 회수 되기 전에는 할당받은 메모리를 계속 유지하게 됩니다. 따라서 불필요한 멤버 변수를 최대한 사용하지 않아야 메모리를 낭비없이 효율적으로 이용할 수 있습니다.
변수 선언시 값을 주지 않아도 특정 값으로 초기화 됩니다.
지역 변수, Local Variable
변수가 메소드안에 선언되는 것을 말합니다.
Stack 메모리를 이용합니다.
메소드의 이용이 끝나면 자동으로 메모리가 회수됩니다.
초기화를 해야 사용할 수 있습니다.
블럭안에 선언: '{ }'안에서만 생명력을 가집니다.
Stack 메모리를 이용합니다.
Variable.java
Block.java
Last updated