학습(구)/JSP

메서드

잉아당 2021. 3. 18. 02:18
728x90

메서드는 머리(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