[JAVA] 오버로딩(overloading)이란? [메서드 오버로딩, 같은 이름의 메서드들]
·
◎ Java/Java☕
1. 오버로딩(overloading)이란? 메서드도 변수처럼 같은 클래스 내에서 서로 구별될 수 있어야 하기 때문에 각기 다른 이름을 가져야 한다. 그러나, 자바에서는 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메서드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메서드를 정의할 수 있다. 이처럼, 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것을 '메서드 오버로딩(method overloading)', 간단히는 '오버로딩(overloading)'이라고 한다. 2. 오버로딩의 조건 1. 메서드 이름이 같아야 한다. 2. 메개변수의 개수 또는 타입이 달라야 한다. * 반환 타입은 오버로딩을 구현하는데 아무런 영향을 주지 못한다. 3. 오버로딩의 예 : pri..
[백준/BOJ] 1920번: 수 찾기 - JAVA [자바]
·
◈ Coding Test/백준(BOJ)👨🏻‍💻
1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net - 백준 1920번: 수 찾기 문제 N개의 정수 A[1], A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수..
[JAVA] 클래스 메서드와 인스턴스 메서드 [클래스 메서드 및 클래스 변수의 특징]
·
◎ Java/Java☕
[JAVA] 선언위치에 따른 변수의 종류 [인스턴스변수, 클래스변수, 지역변수] - 선언위치에 따른 변수의 종류 변수의 종류를 결정짓는 요소는 '변수의 선언된 위치'이다. 멤버변수를 제외한 나머지 변수들은 모두 지역변수이며, 멤버변수 중 static이 붙은 것은 클래스변수, yermi.tistory.com 1. 클래스 메서드와 인스턴스 메서드 변수에서 그랬던 것과 같이, 메서드 앞에 static이 붙어 있으면 클래스 메서드이고, 붙어있지 않으면 인스턴스 메서드이다. → 클래스 메서드는 객체를 생성하지 않고도 '클래스이름.메서드이름(매개변수)'로 호출이 가능하다. → 인스턴스 메서드는 반드시 객체를 생성해야만 호출이 가능하다. 2. 클래스 메서드 및 클래스 변수의 특징 1) 클래스를 설계할 때, 멤버변수 ..
[백준/BOJ] 2920번: 음계 - JAVA [자바]
·
◈ Coding Test/백준(BOJ)👨🏻‍💻
2920번: 음계 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8 www.acmicpc.net - 백준 2920번: 음계 문제 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8부터 1까지 차례대로 연주한다면 descending, 둘 다 아니라면 mixed 이다. 연주한 순서가 주어졌을 때, 이것이 ascending인지, des..
[JAVA] 재귀호출(recursive call)이란? [메서드 내부에서 메서드 자신을 다시 호출]
·
◎ Java/Java☕
1. 재귀호출(recursive call)이란? 메서드의 내부에서 메서드 자신을 다시 호출하는 것을 '재귀호출(recursive call)'이라 한다. → 재귀호출을 하는 메서드를 '재귀 메서드'라 한다. void method() { method(); // 재귀호출. 메서드 자신을 호출한다. } 메서드 입장에서는 자기 자신을 호출하는 것과 다른 메서드를 호출하는 것은 차이가 없다. why? 메서드는 복사된 값으로 작업을 하기 때문! [값에 의한 호출(call by value)] 그러나, 위의 코드처럼 재귀호출 뿐이면 무한반복에 빠지게 된다. 따라서 재귀호출에는 조건문이 필수적으로 붙게 된다. void method(int n) { if(n == 0) { return; // n의 값이 0일 때, 메서드를 종..