초급JAVA 8 - 객체지향 프로그래밍

voilà!·2021년 11월 1일
0

초급JAVA

목록 보기
16/24

객체지향 프로그래밍(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;
  }
}

0개의 댓글