자바 메서드 (CallByName/CallByValue/return)-1
By Commin .September 22, 2016
Programming
CallByName
이름그대로 매개변수 없이 이름으로만 호출하는 method를 말합니다. 메서드는 언제든지 다시 호출 할 수 있습니다.
CallByValue
CallByName과 다르게 매개변수를 통하여 값을 전달하고 그값을 메서드에서 이용할 수 있는 호출 방식입니다. 이 때 중요하게 생각 해야 할 점은 전달한 매개변수의 Data가 어디까지 생존해있느냐입니다. 전달된 매개 변수의 data는 호출된 메서드안에서만 이용되어지고 없어집니다. 예를 통해 보시죠.
1 2 3 4 5 6 7 8 9 10 11 12 | public static void getNumber(int a,int b){ a++; b++; } public static void main(String ar){ int a =10; int b =20; getNumber(a,b); System.out.println("a : "+a+"b : "+b); } | cs |
getNumber(int a, int b)라는 메서드에 a,b를 매개변수로 하여 넘겼고 a와 b는 그안에서 1 씩 증가됩니다. 그럼 출력되는 a,b의 값은 몇 일까요? 그렇습니다. 변화 없이 10과 20 입니다. 절달 되는 a,b는 그 data가 가는 것이 아니고, 다른 곳에 똑같은 value로 복사되어 가는것입니다. 한마디로 서로 참조하는 주소가 다른데, 값이 똑같은거죠. 여기서 CallByReference와 차이가 발생하는 것인데, 이점에대해선 나중에 더 설명하도록 하고 지금은 CallByValue를 완전히 이해하는데 더 노력을 해봅시다.
1 2 3 4 5 6 7 8 9 10 11 12 | public static void getNumber(int num1,int num2){ num1++; num2++; } public static void main(String ar){ int a =10; int b =20; getNumber(a,b); System.out.println("a : "+a+"b : "+b); } | cs |
매개변수/인자
1 2 3 4 5 6 7 8 9 10 | public static void getNumber(int 매개변수){ } public static void main(String ar){ int 인자 =100; getNumber(인자); } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public static void getNumber(int 매개변수){ } public static void getNumber(int 매개변수,int 매개변수2){ } public static void getNumber(String 매개변수){ } public static void main(String ar){ int 인자 =100; getNumber(인자); } | cs |
return
return은 정말 너무 중요한 개념입니다. 메서드 안에서 실행 되는 내용은 메서드가 끝나는 즉시 사라지기때문에(메서드 안에서 생성된 변수들이라면) 필요한 결과를 return받아 메서드를 호출한 곳에서 사용해야 할 필요가있습니다. 그때 return을 써야하며, return되는 타입은 메서드를 생성할 때 정의해줘야합니다.이렇게요.
1 2 3 4 5 6 7 8 9 10 11 | public static int getNumber(int num1,int num2){ return num1+num2 } public static void main(String ar){ int a =100; int b =200; int c = getNumber(a,b); } | cs |
- Commin's JAVA BASIC Category
- 자바 이클립스 설치 및 환경변수 설정
- 자바 문법의 개념 및 용어
- 자바 기본 입출력
- 자바 제어문
- 자바 메서드 및 배열
- 자바 클래스
- [초급 JAVA]자바 class의 기본개념/객체(Object) 와 클래스 - 1
- [초급 JAVA]자바 class의 기본개념/객체(Object) 와 클래스 - 2
- [초급 JAVA]자바 생성자로 초기화 하고 코딩하기/JAVA Constructor
- [초급 JAVA]자바 this,static,final 지정예약어 - final
- [초급 JAVA]자바 this,static,final 지정예약어 - this & this()
- [초급 JAVA]자바 this,static,final 지정예약어 - static
- [초급 JAVA]자바 상속(extends) 예제로 이해하기/ super & super() 이해하기
- [초급 JAVA]자바 interface 와 abstract 예제로 이해하기
'LECTURE > # java basic' 카테고리의 다른 글
[초급 JAVA]예제-학생 시험 성적 평균 & 석차 입력/출력 프로그램 (0) | 2016.09.29 |
---|---|
[초급 JAVA]자바 배열 (단일차원배열/다중배열/이중배열) - 선언 & 초기화 (0) | 2016.09.28 |
[초급 JAVA]자바 제어문 - while 제어문 /do~while() 제어문 (0) | 2016.09.21 |
[초급 JAVA]자바 제어문 - for 문 (단일 for 제어문 / 다중 for 제어문) (0) | 2016.09.21 |
[초급 JAVA]자바 제어문 - switch ~ case ~ break 제어문 (0) | 2016.09.21 |