JAVA - 메소드

2022. 4. 18. 15:40·STUDY/JAVA
반응형

메소드

   : 객체의 동작에 해당하는 실행 블록           void methodName() {....}

     - 필드를 읽고 수정

     - 다른 객체를 생성해 다양한 기능을 수행

     - 객체간의 데이터 전달의 수단

     - 외부로부터 매개값을 받을 수 있음

     - 실행 후 어떤 값을 리턴

 

메소드 선언

  메소드 선언은 선언부(리턴타입, 메소드 이름, 매개변수 선언)와 실행블록으로 구성

  ⓐ 리턴타입 : 메소드는 리턴값이 있을 수도 있고 없을 수도 있는데,

      실행 후 결과를 호출한 곳에 넘겨줘야 할 경우 리턴값이 있어야 한다.

      POWERON의 경우 전원만 키면 되기 때문에 리턴값이 없다. ->저장할 변수가 없어도 됨

           -> void 

      계산기의 ADD의 경우 값을 더한 결과값이 있어야 하기 때문에 리턴값이 있다. -> 결과값을 저장할 변수 필요

           -> 리턴값의 타입(int, double, ...)

 

 ⓑ 메소드 이름

   - 숫자로 시작하면 안됨, $와 _ 제외한 특수문자 X

   - 소문자로 작성(관례)

 

 ⓒ 매개변수 선언

   - 메소드가 실행할 때 필요한 데잍를 외부로부터 받기 위해 사용됨

 

 ⓓ 매개변수의 수를 모를 때

    -> 매개변수를 배열 타입으로 선언

sum1()과 sum2() 메소드의 실행문이 완전 일치

   => 매개변수의 선언방법만 다를 뿐 매개변수의 타입이 배열이므로 처리내용이 같음

 

리턴문

ⓐ 리턴값이 있는 메소드

 : 메소드 서언에 리턴타입이 있는 메소드는 반드시 리턴문을 사용해서 리턴문을 지정해야함 

 : 리턴문이 실행되면 메소드 즉시 종료

 : Unreachable code 오류 >> return 이후에 실행문이 오면 발생( return 이후의 실행문은 실행 x)

 

ⓑ 리턴값이 없는 메소드(void)

  : 리턴값이 없는 메소드에서도 return문을 사용할 수 있다( = 종료)

 

메소드 호출

 - 메소드는 클래스 내, 외부의 호출에 의해 실행된다.

 - 클래스 내부의 다른 메소드에서 호출 : 메소드 이름으로 호출

 - 클래스 외부에서 호출 : 원 클래스로부터 객체를 생성한 뒤, 참조 변수를 이용해서 메소드를 호출해야 함

    ( 객체가 존재해야 메소드도 존재하기 때문에)

 

ⓐ 객체 내부에서 호출

ⓑ 객체 외부에서 호출

 객체 생성 > .(도트 연산자)를 사용해 메소드 호출

 

메소드 오버로딩

하나의 메소드 이름으로 여러 기능을 담음 

조건 : 매개변수의 타입, 개수, 순서 중 하나가 달라야 함

     ( 매개변수의 타입과 개수, 순서가 똑같을 경우 매개변수 이름만 바꾸는 것은 오버로딩이 아님)

매개값을 다양하게 받아 처리할 수 있도록 하기 위해서 사용

 1. 사각형의 넓이를 구하는 방법 오버로딩(직사각형, 정사각형)

 

인스턴스멤버와 this

 * 인스턴스 멤버 : 객체를 생성한 후 사용할 수 있는 필드 & 메소드

  필드와 메소드는 객체에 소속된 멤버이기 때문에 객체없이는 사용할 수 없음

  객체 외부에서 인스턴스에 접근하기 위해 참조변수를 사용한다면,

  객체내부에서도 인스턴스 멤버에 접근하기 위해 this를 사용함

    > 주로 생성자와 메소드의 매개변수 이름이 필드와 동일한 경우, 인스턴스 멤버인 필드임을 명시하고자 할 때 사용됨

반응형
저작자표시 (새창열림)

'STUDY > JAVA' 카테고리의 다른 글

JAVA - 패키지, import문  (0) 2022.04.18
JAVA - 정적멤버와 static & 싱글톤(singleton)  (0) 2022.04.18
JAVA - 객체지향프로그래밍(필드, 생성자)  (0) 2022.04.13
JAVA - 열거타입  (1) 2022.04.13
JAVA - 향상된 for문  (0) 2022.04.13
'STUDY/JAVA' 카테고리의 다른 글
  • JAVA - 패키지, import문
  • JAVA - 정적멤버와 static & 싱글톤(singleton)
  • JAVA - 객체지향프로그래밍(필드, 생성자)
  • JAVA - 열거타입
3unB
3unB
  • 3unB
    ILLILI
    3unB
  • 전체
    오늘
    어제
    • 분류 전체보기 (153)
      • STUDY (109)
        • JAVA (31)
        • SPRING (29)
        • JSP (11)
        • DATABASE (19)
        • HTML (0)
        • CSS (4)
        • GITHUB (2)
        • ETC (5)
        • 자격증 (1)
        • ERROR (6)
      • PROJECT (6)
        • Personal_Project 01 - commu.. (1)
        • TeamProject - JOINUS (4)
      • EUNB (30)
        • 맛집 (27)
        • 여행 (3)
        • 전세사기 (0)
      • 오블완챌린지 ++ (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 짱민지
    • 아랄이
  • 공지사항

  • 인기 글

  • 태그

    망미 바
    센텀 신세계백화점 팝업
    전포 신상 맛집
    전포 연어덮밥
    콩콩팥팥 두부
    티스토리챌린지
    전포동 카페
    배열 한 컬럼에 넣기
    망미 테린느
    속초 해변 숙소
    mysql
    인제 고향집
    서면 설야멱
    콩콩팥팥 맛집
    전포 데이트
    망미 조용한 카페
    서면 맛집
    전포동 맛집
    Database
    속초 숙소 내돈내산
    전포 오꼬노미야끼
    망미 카페
    인제 두부
    속초 중앙시장 감자전
    오블완
    alter
    전포동 핫플
    전포 맛집
    oracle
    전포 밥집
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.0
3unB
JAVA - 메소드
상단으로

티스토리툴바