[JAVA]/07. 객체지향

08. 메소드& 메소드 접근제한자

76beny 2022. 4. 7. 16:22
목차

- 메소드

-메소드의 장점

-객체의 메소드

- 메소드 접근제한자

-메소드 예약어

-메소드 반환형

- 메소드 매개변수

 


메소드 (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차 변형 등을 할 경우

민, 형사상 법적 조치 등 저작권법에 의거하여 처벌 받을 수 있습니다."