개인공부
클래스/메소드 재공부
리승우
2022. 7. 23. 21:45
클래스
> 객체를 생성하기 위한 틀
> 속성과 기능으로 정의되어있음
ㄴ 속성 : 높이 / 부피 / 길이
ㄴ 기능 : 켜기 / 끄기
선언위치에 따른 변수의 종류
> 클래스변수 - 클래스영역에 선언된 static이 붙은 변수
> 인스턴스변수 - 위와 동일하나, static이 붙지않은 변수
> 지역변수 - 클래스 이외의 영역(메소드영역)에 선언된 변수
ㄴ 지역변수가 선언된 블럭 내에서만 사용가능하며, 블럭을 벗어나면 소멸되어 사용할 수 없음
메소드란
> 특정 작업을 수행하는 일련의 문장들을 하나로 묶은 것
> 선언부 / 구현부로 나뉨
ex.
int add(int a, int b) //선언부
{ return a+b;} //구현부
class Mymath {
long add(long a, long b) {
long result = a + b;
return result;
}
long subtract(long a, long b) {
return a - b;
}
long multiply(long a, long b) {
return a * b;
}
double divide(double a, double b) {
return a / b;
}
long choose(long a, long b) {
if (a > b) {
return a;
} else {
return b;
}
}
// choose 다른버전1
long max(long a, long b){
long result = 0;
if(a>b) {
result =a;
}
else{
result =b;
}
return result;
}
// choose 다른버전2 삼항연산자
long max2(long a, long b){
return a>b?a:b;
}
}
public class me {
public static void main(String[] args){
Mymath mm = new Mymath();
long result1 = mm.add(3,4);
long result2 = mm.subtract(5L,3L);
long result3 = mm.multiply(5L,3L);
double result4 = mm.divide(5L,3L);
long result5 = mm.choose(3,5);
System.out.println(result1);
System.out.println(result2);
System.out.println(result3);
System.out.println(result4);
System.out.println(result5);
}
}