본문 바로가기

Java

[Java] 객체지향 프로그래밍 - 추상화

추상화 : 현실세계에서 존재하는 모든 사물의 공통점과 공통 기능을 유추해서 

           클래스를 만들어내는 일련의 과정

           (단순 실행 목적이 아닌 데이터를 저장하기 위해)

 

메서드 : 클래스의 기본 구성 요소

           어떤 기능을 가진 최소한의 작업단위

    1)일반 메서드 : 객체가 생성되어야 호출 가능

    2)정적 메서드 : 객체 생성 없이도 호출 가능

 

메서드의 종류

    1. 매개변수 X 반환값 X

    2. 매개변수 O 반환값 X

    3. 매개변수 O 반환값 O

 

인스턴스화(=객체생성)

    설계도에 해당되는 클래스를 가지고

    멤버변수들이 저장할 수 있는 공간을 만드는 것

 

소스코드 - Car.java

public class Car {
	
	//멤버변수 : 클래스 내부에 선언된 변수
	String name;	//이름
	int output;		//배기량
	int year;		//연식
	String color;	//색깔
    // 현재 상태
	int current_speed;//속도
	boolean sidong=false;
    
    //1)시동걸기
    void startEnginee() {
		sidong = true;		// 멤버변수의 값을 저장,조회 가능
		System.out.println("시동이 걸렸습니다.");
	}
	//2)속도 증가
	void speedUp(int speed) {
		current_speed += speed;
		System.out.println(speed+"km 만큼 속도가 증가되었습니다.");
	}
	//3)속도 감소
	void speedDown(int speed) {
		current_speed -= speed;
		System.out.println(speed+"km 만큼 속도가 감소되었습니다.");
	}
	//4)차의 정보 출력 
	void carInfoPrint() {
		System.out.println("===차의 정보===");
		System.out.println("차의 이름="+name);
		System.out.println("차의 배기량="+output);
		System.out.println("차의 색깔="+color);
		System.out.println("차의 속도="+current_speed);
	}
	//5)차의 주차기능
	void stop() {
		sidong = false;
		current_speed=0;
		System.out.println("정상적으로 주차가 완료되었습니다.");
	}
}

소스코드 - CarHandling.java

public class CarHandling {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		// 객체생성 --> 데이터 저장, 메서드 호출 위해서
		Car morning = new Car(); // 4byte

		// 객체명.멤버변수 = 값
		morning.name = "모닝";
		morning.output = 1000;
		morning.color = "blue";
		morning.year = 2019;
		// 메서드를 호출
		morning.startEnginee();
		morning.speedUp(150); // speedUp메서드를 호출하면서 값150 전달
		morning.speedDown(30); // 150-30 = 120
		morning.carInfoPrint();
	}

}

 


다음 글

[Java] 객체지향 프로그래밍 - 캡슐화

 

[Java] 객체지향 프로그래밍 - 캡슐화

캡슐화 : 멤버변수에 저장된 값을 보호하고, 은닉하는 것 올바른 값만 저장될 수 있도록 처리해주는 방법 캡슐화를 적용시키는 방법 1. 모든 멤버변수 앞에 private를 붙인다 2. setter/getter 메서드 작성 메서드..

maribel.tistory.com