메서드는 머리(header)와 몸통(body)로 구성되어져 있습니다.
머리
- 메서드의 인터페이스 역할을 수행합니다.
- 호출에 필요한 정보들로 구성되어져 있습니다.
- 메서드 시그니처(리턴타입, 메서드 이름, 형식 매개변수의 나열 등)는 메서드의 식별 및 머서드 오버라이딩에 사용됩니다.
- abstract : 추상을 나타내며 몸통이 없습니다.
- static : 클래스에 소속이냐 객체에 소속이냐를 나타냅니다.
- final : 오버라이딩 가능 여부를 나타냅니다. 사용될 경우 오버라이딩 될 수 없습니다.
- 접근제한자 : 캡슐화에 사용되며 public, private 등이 있습니다.
- 리턴타입 : 메서드 종료를 의미하며 반환할 값이 없을 경우 void를 사용하는데 이때 쓰레기 값이 저장이 되므로 사용을 하지 않습니다.
- 익셉션 떠넘기기 여부
몸통
- 실행될 문장들을 나열합니다.
매개변수
- 정보 전달에 사용되는 변수 입니다.
- 실 매개변수 : 호출문에 위치하여 정보를 전달하는 변수입니다.
- 형식 매개변수 : 메서드 헤더에 위치하여 정보를 전달 받는 변수입니다.
-> 메서드 호출시 실 매개변수는 형식 매개변수에 대입되어 사용됩니다.
- Call By Value : 실 매개변수가 값 변수 이거나 표현익이면 value가 전달 됩니다.
- Call By Reference : 실 매개변수가 참조 변수이거나 실체(객체)이면 메모리 주소인 reference가 전달됩니다. 이 경우 에는 실체를 공유 하고 있어 실체를 변화 시키기 때문에 주의하여 사용해야 합니다.
- 형식 매개변수는 메서드 헤더에 정의하고 있지만 로컬 변수로 취급되어 스레드 스택의 메서드 블록 프레임에서 변수 방을 마련합니다.
메서드 호출시 정보 전달
#공유 변수 사용
- 여러 곳에서 사용할 때 쓰며 멤버 변수(필드)를 사용합니다.
#매개변수를 통한 전달
- 두 메서드간의 정보 전달이 이루어 질 때 사용하며 call by value와 call by reference를 이용합니다
- call by reference는 주소가 공유되어 호출 당하는 쪽과 호출 하는 쪽에서 모두 사용되어 지며 함수를 전달 할 때 사용할 수 있는데 람다식을 이용해 클래스를 생성하여 객체를 생성 후 주소를 전달하는 방식으로 이용합니다.
메서드 호출 후 정보 전달
# 정상
- return을 이용해 1개의 결과값을 전달합니다.
- 공유 변수를 통해 전달합니다.
- call by reference로 호출되었을 때 매개변수를 사용하여 전달합니다.
#비정상
- 익셉션 발생
- 자신이 직접 처리 할 경우 try-catch블럭을 이용합니다.
- 중요한 오류여서 보고를 위해 익셉션을 넘길 경우 throws를 이용해 넘기며 대부분 이 방식을 사용합니다.
익셉션
- 에러와 익셉션으로 구분합니다.
- 익셉션은 런타임과 일반으로 구분합니다.
- 가능한한 많은 개발자 정의 익셉션을 구현하여 처리합니다.
'학습(구) > JSP' 카테고리의 다른 글
모델1 구조와 모델2 구조/커맨드핸들러/MVC패턴 (0) | 2020.12.13 |
---|---|
서블릿,필터,리스너 (0) | 2020.12.12 |
객체의 분류 (0) | 2020.11.19 |
디자인 패턴 - 행위 패턴 (0) | 2020.11.19 |
디자인 패턴 - 구조 패턴 (0) | 2020.11.16 |