1.메서드
메서드란
클래스 안에서 특정 기능을 수행하기 위해 코드들을 따로 하나의 블록으로 묶어 놓은 집합을 말합니다
메서드를 구현함으로써 같은 내용의 코드를 반복적으로 사용하는 것을 피할수 있습니다
반복되는 문장들을 묶어서 메서드로 작성해 놓으면 필요할 때마다 재사용이 가능하며 중복된 코드를 제거할 수 있습니다
메서드 선언
메서드는 크게 선언부와 실행 영역으로 구성 되어있습니다
접근 제한자 반환 타입 메서드 이름(){
//실행영역
}
접근 제한자 :변수와 마찬가지로 해당 메서드에 접근할 수 있는 범위를 결정합니다
반환 타입 : 메서드를 호출하면 메서드는 블록 안에 있는 코드들을 실행한 후 결과 값을 반환하는데, 어떤 타입으로 반환할 것인지 타입을 미리 정해 줍니다 반환 값이 없는 경우에는 반환 타입으로 void를 사용합니다
메서드 이름 : 변수처럼 이름을 가지고 메서드를 호출할 때 사용합니다
라이브러리 클래스에 있는 메서드
인스턴스 메서드 : 객체를 생성함과 동시에 메모리에 자동으로 올라가기 때문에 바로 사용할 수 있습니다
정적 메서드 : 프로그램 시작과 동시에 메모리에 자동으로 올라가기 떄문에 바로 사용할 수 있습니다
실행 클래스에 있는 메서드
객체를 생성할 방법이 없기 때문에 메서드가 무조건 static(정적 메서드)으로 선언되어야 합니다
메서드 호출
메서드는 클래스 안에서 선언되므로 메서드를 사용하기 위해서는 해당 클래스의 객체부터 생성해야합니다
메서드가 있는 클래스 참조변수 = new 클래스();
참조변수.메서드 이름();
2.매개변수와 return
매개변수
특정 기능을 수행하기 위한 메서드는 기능을 수행할 떄 사용할 인수를 받을 수 있습니다
그 인수를 매개변수라고 부릅니다
매개변수의 자료형과 매개 변수명으로 선언할 수 있습니다
ex) int number
메서드를 호출할때 전달해 줄 변수의 자료형을 명시하고 그 변수를 메서드 안에서 사용할 때 담아서 사용할 변수 이름을 작성합니다
return
메서드를 호출할 때 매개변수를 전달해 준 것처럼 필요에 따라 메서드로부터 실행한 결과값을 되돌려 받을 수도 있습니다
이것을 "리턴값"이라고 부릅니다
메서드의 기본 형태에서 반환 타입은 메서드를 호출했을 때 결과 값으로 돌려받을 데이터의 자료형을 명시합니다
매개변수와 마찬가지로 리턴값의 자료형은 제한이 없습니다 자바에서 사용하는 모든 자료형을 반환타입으로 사용할 수 있습니다
자료형의 크기에 따라 실제로 던질 리턴값보다 작은 자료형으로 자동 형변환 되어 반환하는 것도 가능합니다
3. getter 와 setter메서드
객체 밖에서 필드에 마음대로 접근할 수 있고 값을 변경할 수 있다면 문제가 생길 가능성이 있어 보입니다
이런 문제를 예방하기 위해 객체 지향 프로그래밍에서는 메서드를 통해서 필드의 값을 불러오고 필드의 값을 변경하는 방법을 이용합니다
장점
필드를 보호할 수 있습니다
메서드에서 필드에 들어갈 갑을 검증한 후 필드에 대입할 수 있습니다
외부에서 사용할 필드의 값을 정제한 후 값을 제공할 수 있습니다
setter 메서드
일반적으로 setter메서드를 사용할 때는 필드의 값을 객체 외부에서 직접 넣지 못하도록 필드에 접근을 제한 합니다
필드가 선언되어 있는 클래스에서만 접근 가능한 필드를 우리는 private 하다고 표현할 수 있다
getter메서드
private 필드를 객체 외부에서 값을 불러오기 위해 구현하는 메서드를 getter라고 합니다
private필드는 객체 외부에서는 접근이 불가능하지만 필드가 선언된 클래스에서는 어디서든 접근할 수 있습니다
따라서 메서드를 통해서 값을 전달해 줄 수 있습니다