이번에는 자바 Class를 이어서 알아보려고 한다.
우선 class 에는 Field 라는 용어로 정리가 되는 것들이 있다.
Field를 알아보면 자동차에는 자동차 이름과 자동차 번호를 가지고 있고 자동차는
달리고 멈추는 기능이 있는데 여기에서 가지고 있는 것을 속성이라고 한다 이게 바로 Field 이다.
public class Car{
String name;
int number;
}
// 위의 코드는 이름과 번호를 필드로 가지고 있는 Car클래스를 선언하는 것이다.
Car c1 = new Car();
Car c2 = new Car();
// 위의 코드는 Car라는 인스턴스가 메모리에 2개 만들어진다.
// 위의 속성을 사용하려면 아래의 코드처럼 활용하면 된다.
c1.name = "경찰차" // c1이 참조하는 객체의 name을 소방차로 설정하는 것.
c1.number = 4434; // c1이 참조하는 객체의 number를 4434로 설정하는 것.
c2.name = "택시"; // c2가 참조하는 객체의 name을 택시로 설정.
c2.number = 1144; // c2가 참조하는 객체의 number를 1144로 설정
System.out.println(c1.name); // 이렇게 하면 콘솔에는 경찰차가 나오게 된다. (c1이 참조하는 객체 name을 출력함)
System.out.println(c1.number); // 이렇게 하면 4434가 출력이 된다. 이유는 위와 동일
String name = c2.name; // c2가 참조하는 객체의 name을 String 타입 변수 name도 같이 참조하게 된다.
Method (메소드)
메소드란 필드가 물체의 상태라면 물체의 행동에 해당하는게 메소드이다.
예를 들면 car에는 이름과 번호가 있지만 car는 전진과 후진하는 행동도 할 수 있다
메소드에는 입력값이 있고 그 입력값을 받아서 무언가를 한 후 결과를 도출해 내는 수학의 함수와 비슷한 개념이다.
이 때에 입력값을 매개변수라고 하고 결과값을 리턴값이라고 하는데
인자(Argument) 는 어떤 함수를 호출시에 전달되는 값을 의미를 하며
매개 변수 (Parameter)는 그 전달된 인자를 받아들이는 변수를 의미한다.
메소드는 클래스가 가지고 있는 기능이기 때문에 클래스 안에서 선언이 된다.
다양하게 메소드를 선언을 할 수 있는데 그 부분을 정리를 해보겠다.
public class MyClass{
public void method1(){
Systme.out.println("method1이 실행됩니다.");
}
}
// 위의 코드는 매개변수도 없고 리턴하는 것도 없는 형태의 메소드이다.
// 리턴하는 것이 없을 경우에는 void 라고 작성을 한다.
public class MyClass{
public void method2(int x){
System.out.println(x + " 를 이용하는 method2 입니다.");
// 정수를 받아들인 후 리턴하지 않는 메소드이다.
// 받아들이는 값은 어떤 타입이라도 상관은 없다, 받아들이는 값의 수가 여러개 일 수 있는데 그 때에는 ,로 구분한다.
public int method3(){
System.out.println("method3이 실행이 됩니다.");
return 10;
} // 위의 값이 실행이되면 콘솔에 method3이 실행됩니다를 출력 후 메소드를 호출한 쪽에 10을 리턴한다.
// 위의 코드는 정수를 받아들인 후 리턴하지 않는 메소드이다.
// 리턴하는 값 앞에 return 이라는 키워드를 사용하며 메소드 이름 앞에는 리턴하는 타입을 적어준다.
// 리턴타입은 하나만 사용할 수 있는데 리턴하는 타입은 어떤 타입이던지 상관이 없다.
public void method4(int x, int y){
System.out.println(x + " , " + y + " 를 이용하는 method4");
}
// 위의 코드는 정수 2개를 매개변수로 받고 아무것도 반환하지 않는 메소드 이다.
위와 같이 다양한 방법으로 사용을 할 수 있다.
'Java' 카테고리의 다른 글
| Java(자바) String클래스의 메소드와 변수의 scope 및 static (0) | 2022.08.16 |
|---|---|
| 자바 수업 내용 간단 정리 (클래스 기능 및 사용법) (0) | 2022.08.16 |
| Java(자바) - 클래스에 대해서 알아보기(1) (1) | 2022.08.12 |
| Java(자바) - 배열(array) 알아보기 (0) | 2022.08.12 |
| Java(자바) - 연산자 알아보기 (0) | 2022.08.11 |
댓글