정보처리기사 공부하면서 정리한 내용입니다.
메서드
ReturnType nameOfTHeMethod() { //메서드 선언
//메서드의 역할
}
반환타입 ReturnType
반환하고 싶은 타입이 없으면 void, 정수형이면 int 등.
void sum(int a, int b);
int sum = sum(1, 10); //ERROR
위와 같은 경우 sum은 반환타입이 void라 반환값이 없기에 에러가 뜬다.
메서드에서는 값을 단 하나만 반환할 수 있음에 주의하자.
메서드 콜
nameOfTHeMethod();
System.out.println("Call");
콘솔에 무언가를 출력하는 메서드 System.out.println()
System.out.println()를 입력하여 메서드를 실행하는 것 = 메서드 콜
println(print line) = 메서드. line이므로 기본적으로 \\n엔터를 포함하여 출력한다
System = 클래스 종류 중 하나. out이라는 변수와 println이라는 메서드를 포함한다.
printf : C언어의 것과 동일하다.
인자argument와 매개변수parameter의 차이점
메소드 콜할 때 ( )안에 넣는 것이 인자
메서드를 발동할 때, 호출할 때, 실행할 때 사용한다.
nameOfTHeMethod(인자argument);
메소드 자체의 ( )안에 넣는 것이 매개변수
메서드 코드 내에서 사용하며, 메서드를 호출할 때 인자를 전달한다.
ReturnType nameOfTHeMethod(매개변수parameter) {
}
메서드 오버로딩
동일한 이름의 메서드. 차이점은 받는 매개변수가 다르다는 것뿐인 경우.
printSomething() { // 매개변수parameter를 받지 않는 printSomething 메서드
System.out.println("Hello World");
}
printSomething(int parameter) { // 매개변수를 하나 받는 printSomething 메서드
System.out.println(parameter);
}
printSomething(int firstNum, int secondNum) { // 매개변수를 둘 받는 printSomething 메서드
System.out.println(firstNum + secondNum);
}
printSomething(); // Hellow World 출력
printSomething(1000); // 1000 출력
printSomething(1, 4); // 5 출력
클래스
어떤 자바코드든 컴파일하려면 클래스를 만들어야 한다.
클래스와 인스턴스
클래스는 템플릿과 같은 개념이다.
예를 들어 행성이라는 클래스가 있다면, 인스턴스Instance는 지구, 금성, 화성이다. (Instance에는 사례라는 뜻이 있다)
// 클래스 만드는 법
class Planet {
int size; //size라는 이름의 정수형 변수 선언
}
👇Planet의 Instance를 만들어보자
// 인스턴스 만드는 법
Planet earth = new Planet();
Planet vinus = new Planet();
클래스명 인스턴스명 = new 클래스생성자호출의 구조이다. 생성자에 대해서는 다음 챕터(🔗링크)에서 다루므로 일단은 넘어가도록 하자.
earth는 Planet타입(class)의 Object다. earth와 vinus는 저마다 자신만의 size라는 변수(earth.size, vinus.size)를 가지게 된다.
메서드
class Planet { // Planet 클래스 정의
void comingSoon() { // 클래스 안의 메서드 정의
System.out.println("Coming Soon");
}
}
메서드는 특정 클래스의 인스턴스에 행할 수 있는 행동을 정의한다.
vinus.comingSoon();
클래스 안에 있는 메서드를 호출하려면 객체(여기서는 vinus)를 사용해야 한다. 자신(여기서는 vinus)이 주체가 되어 메서드를 호출하는 것이다.
패키지
프로젝트 내 자바 클래스는 여러개 생성될 수밖에 없는데, 이 클래스들을 서로 다른 그룹에 묶어 정리할 수 있도록 해주는 것이 패키지의 개념이다.
이클립스에서 [ctrl + N]을 누르면 위와 같은 화면이 나온다. 자바의 기본 구성요소가 클래스라는 사실을 알 수 있다.
Next를 눌러 다음으로 넘어오면 이렇게 패키지명과 이름을 입력할 수 있는 화면이 뜬다.
package com.in28minutes.oops;
public class ClassName {
}
클래스를 생성하면 위와 같이 최상단에 패키지가 있는 것을 확인할 수 있다.
패키지 익스플로러에서 확인할 수 있는 지금까지 만들어진 패키지와 클래스 파일들.
(유데미의 in28minutes의 강의를 수강하며 만들었기에 해당 강의명의 패키지를 작성한 것을 확인할 수 있다.)