-
메소드(Method) / 오버로딩(Overloading)개발/자바JAVA 2024. 1. 29. 13:28
▶메소드란?
수학의 함수와 비슷, 호출을 통해 사용, 전달 값이 없는 상태로 호출을 하거나 어떤 값을 전달하여 호출을 하며,
함수 내에 작성된 연산을 수행한다.
수행 후 반환 값 / 결과 값은 있거나 없을 수 있음
◎메소드 표현식
●매개변수와 반환값이 있는 메소드
매개변수가 두개인 메소드를 만들고,
반환 값에 axb를 받아보겠다.
결과값을 int 로 받는거 주의!!
단 이렇게 하면 a 와 b를 곱셈으로 밖에 활용 못한다... 변수에 안담아 놨기 때문에.
●Static 메소드
: 호출 시 객체를 생성할 필요가 없음.(프로그램 시작과 동시에 메모리의 static 영역에 해당 메소드들이 이미 다 들어가 있 음.)
1. 매개변수와 반환값이 모두 없는 메소드
이렇게 객체가 없어도 호출이 된다.
2. 매개변수가 없고 반환값은 있는 메소드
※반환값에는 배열, User같은 타입도 반환이 가능하다.
3.매개변수는 있지만 반환값이 없는 메소드
반환값이 없기때문에 출력까지 해준 후 보낸다.
매개변수를 이런식으로 계속 써먹을 수 있다.
4. 매개변수도 있고 반환값도 있는 메소드.
리턴값을 맞는 타입으로 받아줘야 한다.
▶오버로딩
: 한 클래스 내에 동일한 이름의 메소드를 여러 개 작성하는 기법(메소드명 중복 허용 규칙)
--> 조건 : 메소드 이름은 같지만, 매개변수의 자료형, 갯수, 순서가 다르게 작성되어야 한다.
단, 매개변수 명, 접근제한자, 반환형은 메소드 오버로딩에 영향을 주지 않음.
오버로딩이 잘 된 경우이다.
자료형의 갯수가 다르거나 타입이 달라야함. 하지만
순서가 다르면 갯수, 자료형이 같아도 오버로딩이 가능하다.
매개변수명이 다르다고 해도, 자료형이 같고 갯수가 같으면 안된다.
반환형이 다르다고 해서 오버로딩이 되지 않는다.
--> 메소드를 호출하는 시점에 매개변수 자체가 동일하기 때문에 에러가 발생.
접근제한자가 다르다고 해도 오버로딩이 안된다.
'개발 > 자바JAVA' 카테고리의 다른 글
상속(Inherit) / 오버라이딩(Overriding) (1) 2024.01.30 객체배열 (0) 2024.01.29 생성자(Constructor) (0) 2024.01.26 접근제한자(public/protected/default/private) (0) 2024.01.26 변수의 구분(전역변수/지역변수/매개변수)/ static / 상수필드 (1) 2024.01.26