3. JAVA - 메소드, API

hsso_o·2024년 7월 5일
0

스터디

목록 보기
8/44

메소드

  • 특정 작업을 수행하기 위한 명령문의 집합
  • 사용 목적
    • 중복 코드를 메소드로 만들어 재사용 하므로 코드의 반복 사용 피함
    • 코드의 가독성이 좋아짐
    • 기능 변경이 필요한 경우, 메소드 부분만 수정하므로 유지보수 용이
접근제어자 반환타입 메소드이름 (매개변수 목록) {

		// 실행할 코드

		// 반환타입이 있을경우 반환타입에 맞게 return 작성
		// 반환타입이 void인 경우 생략
		return ...;
}
  • 접근 제어자

    • public : 어디서나 접근 가능
    • protected : 상속관계이거나 같은 패키지에서 접근 가능
    • default(생략가능) : 같은 패키지에서 접근 가능
    • private : 같은 클래스 내부에서만 접근 가능
  • 반환 타입

    • void : 리턴값 없음
    • 기본 변수 자료형 : int, float, 등등
    • 오브젝트형 : String, 이외 사용자 정의타입
  • 전달인자/매개변수

    • 전달인자 (Argument) : 메서드나 함수가 호출될 때 실제로 전달되는 값
    • 매개변수 (Parameter) : 메서드나 함수 선언 시 정의된 변수로, 전달인자를 받아서 메서드나 함수 내에서 사용
  • 지역 변수 : 메서드 내에서 선언되며, 해당 메서드가 실행되는 동안만 유효한 변수
  • 매개 변수 : 메서드나 생성자에 인수로 전달된 값을 저장하는 변수
  • 전역 변수 (필드) : 클래스 내에 선언되며, 클래스의 인스턴스에 의해 접근 가능한 변수
  • 클래스 (static) 변수 : static 키워드로 선언된 변수로, 클래스 로드 시 생성되며 모든 인스턴스가 공유하는 변수

지역변수는 선언한 메소드 블럭 내부에서만 사용이 가능하다. 이것을 지역변수의 스코프라고 한다.

static 메소드

/* static 메소드를 호출하는 방법
* 클래스명.메소드명();  <- 이런 방식으로 호출한다.
* */
System.out.println("10과 20의 합 : " + Application.sumTwoNumbers(10, 20));

/* 동일한 클래스 내에 작성된 static 메소드는 클래스명 생략이 가능하다. */
System.out.println("20과 30의 합 : " +sumTwoNumbers(20, 30));

메소드 호출 흐름

메소드가 호출되면 stack 영역에 메소드를 위한 영역이 할당되고, 호출된 메소드들이 실행이 완료되면 stack 영역에 할당된 메모리 공간은 사라진다. 메소드가 완료된 이후에는 호출했던 위치로 다시 돌아가서 그 이후 작업을 실행하는데, methodA() → methodB() → methodC() 와 같이 호출되었기 때문에 메소드가 끝날 때는 methodC() → methodB() → methodA() 와 같이 돌아가게 된다.


패키지

  • 서로 관련있는 클래스 또는 인터페이스 등을 모아 하나의 묶음으로 단위를 구성하는 것
  • 클래스명은 원래 패키지명을 포함
package 패키지명;
  • 클래스나 인터페이스의 소스파일(.java)의 최상단에 선언되어야 한다.
  • 클래스 명명규칙과 다르게 소문자로만 작성하는 것을 원칙으로 한다.
  • 패키지 명을 지정하지 않으면 자동적으로 이름 없는 패키지에 속하게 된다.

임포트

  • 패키지명을 생략하고 사용할 수 있도록 한 구문
package 패키지명;

import 패키지명.*;
import 패키지명.클래스명;
import static 패키지명.클래스명;

...클래스
  • import 문은 여러 개 명시할 수 있다.
  • import 는 package 선언문과 class 선언문 사이에 작성하며 어떠한 패키지 내에 있는 클래스를 사용할 것인지에 대해 미리 선언하는 효과를 가진다.
  • import 문은 소스파일(.java) 에서 package 문과 클래스 선언문 사이에 명시한다.
  • static import 문은 static 메소드를 호출할 때 사용한다.

API (Application Programming Interface)

  • 응용프로그램에서 사용할 수 있도록, 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있도록 만든 인터페이스
  • 우리가 구현할 수 없거나 구현하기 번거로운 기능들을 JDK를 설치하면 사용할 수 있도록 제공한 소스코드(클래스나 인터페이스)들을 의미
profile
아뇨 소혠데요-

0개의 댓글