객체지향 프로그래밍(Object Oriented Programming)
SampleClass sc = new SampleClass();
객체 생성
메모리의 주소가 변수에 들어간다.
<지역변수>
메서드 안에서만 사용하는 변수
<전역변수>
클래스 전체 영역에서 사용하는 변수
전역변수는 초기화하지 않아도 기본값으로 초기화 된다.
String method1(int parameter){ return parameter + "를 받아 명령을 수행하고 결과물을 리턴하는 메서드"; } void method2(){ //void : 비어있음, 파라미터에 값을 넣지 않으면 아무런 값도 받을 수 없음 System.out.println("파라미터도 리턴타입도 없는 메서드"); }
레스토랑으로 Class 이해하기
public class Alba {
//메서드 : 알바가 할 일(보스가 알바에게 시킨 일) -> 주문, 서빙, 계산
//파라미터 : 일을 하기 위해 필요한 것(보스가 알바에게 주는 것)
//리턴타입 : 일을 하고 난 후 돌려주는 것(알바가 보스에게 주는 것)
//주문받기 위해 필요한 것? -> 없음(파라미터)
//주문받은 후 보스에게 줄 것? -> 주문서(리턴타입)
String[] order(){
System.out.println("주문 하시겠습니까?");
return new String[]{"짜장면","탕수육"};
}
//서빙하기 위해 필요한 것? -> 음식(파라미터)
//서빙 후 보스에게 줄 것? -> 없음(리턴타입)
void serve(String[] foods){
System.out.println("맛있게 드세요.");
}
//계산하기 위해 필요한 것? -> 주문서(파라미터)
//계산 후 보스에게 줄 것? -> 없음(리턴타입)
void pay(String[] order){
System.out.println("2만원입니다. 안녕히가세요.");
}
public class Boss {
public static void main(String[] args) {
Alba alba = new Alba(); //객체 생성 후 저장
String[] order = alba.order();
System.out.println(Arrays.toString(order));
System.out.println("요리 만드는 중.....완성!!");
String[] foods = {"완성된 짜장면", "완성된 탕수육"};
alba.serve(foods);
alba.pay(order);
}
}
계산기 클래스를 이용한 연산
public class Calculator {
// + - * / % 각각 연산을 위한 5개의 메서드 필요
// 파라미터(2개)랑 리턴타입(파라미터를 받아서 계산한 다음 그 결과를 리턴) 필요
double cal1(double num1, double num2){
return num1 + num2;
}
double cal2(double num1, double num2){
return num1 - num2;
}
double cal3(double num1, double num2){
return num1 * num2;
}
double cal4(double num1, double num2){
return num1 / num2;
}
double cal5(double num1, double num2){
return num1 % num2;
}
}