Beny's Study
08. 메소드& 메소드 접근제한자 본문
- 메소드
-메소드의 장점
-객체의 메소드
- 메소드 접근제한자
-메소드 예약어
-메소드 반환형
- 메소드 매개변수
메소드 (Method)
■ 수학의 함수와 비슷하며 호출을 통해 사용
■ 작업단위로 문장들을 { } 로 묶어 이름붙여놓은것
■ 값(입력)을 받아서 처리하고, 결과를 반환(출력)
■ 클래스 내에 존재해야 함.
■ 반복적으로 수행되는 여러문장을 메소드로 작성
■ 하나의 메소드는 한가지 기능만 수행하도록 작성
■ 전달 값이 없는 상태로 호출하거나 어떤 값을 전달하여 호출
■ 함수 내에 작성된 연산 수행 후 반환 값/결과 값은 있거나 없을 수 있음
■ 메소드 표현식 (경우의수 여러개 => 08-1에 작성.)
[접근제한자] [예약어] 반환형 메소드명( [매개변수==타입변수명] ) { //선언부
// 기능 정의 (실행내용작성) //구현부
}
int add( int x, int y ){
int result = x + y;//호출시 수행될 코드
return result; // 결과를 반환
}
//int =>반환타입(출력)
//add =>메서드 이름
//(int x, int y) => 매개변수선언(입력)
* 위의 코드(코드 전체가 메소드 영역임)에서 지역변수는? (메서드 내에 선언된 변수)
=> int x의 x, int y 의 y, int result의 result
■ 메소드 예시
public void information() {
System.out.println(studentNo);
}
메소드의 장점
■ 코드의 중복을 줄일수있다.
■ 코드의 관리가 쉽다.
■ 코드를 재사용 할수있다.
■ 코드가 간결해서 이해하기 쉬워진다.
객체의 메소드
■ 객체의 기능을 수행하기 위한 코드 블록
■ 객체의 메소드를 호출하면 메소드 블록 안에 있는 코드 들이 순서대로 실행 됨
■ 메소드 명은 관례적으로 소문자로 작성
■ 메소드를 호출할 때 매개변수와 동일한 타입과 개수의 값을 넘겨줘야 정상 실행됨
메소드 접근제한자
구분 | 클래스 | 패키지 | 자손클래스 | 전체 | |
+ | public | ○ | ○ | ○ | ○ |
# | protected | ○ | ○ | ○ | |
~ | (default) | ○ | ○ | ||
- | private | ○ |
■ 메소드 접근제한자 예시
public class Member {
public String name;
public int age;
public String getName() {
return name;
}
void setName(String name) {
this.name = name;
}
public int getAge()
return age;
}
private void setAge(int age) {
this.age = age;
}
메소드 예약어
구분 | 전체 |
static | static 영역에 할당하여 객체 생성 없이 사용 |
final | 종단의 의미, 상속 시 오버라이딩 불가능 |
abstract | 미완성된, 상속하여 오버라이딩으로 완성시켜 사용해야 함 |
synchronized | 동기화 처리, 공유 자원에 한 개의 스레드만 접근 가능함 |
static final (final static) |
static과 final의 의미를 둘 다 가짐 |
메소드 반환형
구분 | 전체 |
void | 반환형이 없음을 의미, 반환 값이 없을 경우 반드시 작성 |
기본 자료형 | 연산 수행 후 반환 값이 기본 자료형일 경우 사용 |
배열 | 연산 수행후 반환 값이 배열인 경우 배열의 주소값이 반환 |
클래스 | 연산 수행후 반환 값이 해당 클래스 타입의 객체일 경우 해당 객체의 주소값이 반환 (클래스 == 타입) |
메소드 매개변수
구분 | 전체 |
( ) | 매개변수가 없는 것을 의미 |
기본 자료형 | 기본형 매개변수 사용 시 값을 복사하여 전달 매개변수 값을 변경하여도 본래 값은 변경되지 않음 |
배열 | 배열, 클래스 등 참조형을 매개변수로 전달 시에는 데이터의 주소 값을 전달하기 때문에 매개변수를 수정하면 본래의 데이터가 수정됨(얕은 복사) |
클래스 | |
가변인자 | 매개변수의 개수를 유동적으로 설정하는 방법으로 가변 매개변수 외 다른 매개변수가 있으면 가변 매개변수를 마지막에 설정 * 방법 : (자료형 ... 변수명) |
*매개변수의 수에 제한이 없다.
"본 인터넷 사이트 내의 모든 이미지, 문구, 콘텐츠, 내용 등에 대한 저작권은 76beny에게 있습니다.
이를 무단으로 도용, 복사, 전재, 재배포, 2차 변형 등을 할 경우
민, 형사상 법적 조치 등 저작권법에 의거하여 처벌 받을 수 있습니다."
'[JAVA] > 07. 객체지향' 카테고리의 다른 글
09. return(리턴) (0) | 2022.04.07 |
---|---|
08-1. 메소드 표현식의 종류 (0) | 2022.04.07 |
07-1. 필드의 초기화(변수초기화,멤버변수초기화) (0) | 2022.04.07 |
07. 필드 (Field) & 필드 접근제한자 (0) | 2022.04.07 |
06. 클래스 접근제한자 (0) | 2022.04.07 |