코드를 짜면서 기초 개념이 좀 부족한거 같아서 빠르게 한번 정리
speed 에 private 접근 제어 수식어를 지정했기 때문에
mycar 인스턴스에서 직접 speed 변수 접근 하여 수정이 불가함
그러므로 200 넘는 값이나 마이너스 속도를 speed에 입력하는 실수를 미연에 막아준다
speed 값을 수정하려면 메서드를 꼭 이용해야 한다.
public class Car { //String color; //int speed; // private 직접 접근 불가 private String color; private int speed =0; public void upSpeed(int value){ if(speed + value > 200){ speed = 200; }else{ speed = speed + value; } nowSpeed(); } public void downSpeed(int value){ if(speed - value < 0){ speed = 0; }else{ speed = speed - value; } nowSpeed(); } public void nowSpeed(){ System.out.println("현재 속도는 == " + getSpeed()); } public String getColor() { return color; } public void setColor(String color) { this.color = color; } public int getSpeed() { return speed; } public void setSpeed(int speed) { this.speed = speed; } }
실행 코드
public class car_Sub { public static void main(String[] args) { Car mycar = new Car(); //mycar.color= "빨강"; //mycar.speed =0; //System.out.println("자동차 1 의 색상은 " + mycar.color + "이며 현재 속도는 " + mycar.speed + " KM 입니다"); mycar.setColor("빨강"); mycar.upSpeed(100); //100 mycar.upSpeed(150); //250 mycar.downSpeed(50); //200 -50 mycar.downSpeed(160); // 150 - 160 //System.out.println("자동차 2 의 색상은 " + mycar.getColor() + "이며 현재 속도는 " + mycar.getSpeed() + " KM 입니다"); } }
실행 결과
반응형
':::: 개발 :::: > ::: JAVA :::' 카테고리의 다른 글
스프링 부트 구름IDE 이용 원격 개발 시작 (0) | 2018.08.13 |
---|---|
객체지향 자바기초 (인터페이스,추상화) (0) | 2018.07.26 |
객체지향 자바기초 (클래스 상속) (0) | 2018.07.19 |
객체지향 자바기초 (클래스 변수,인스턴스 변수) (0) | 2018.07.18 |
JAVA 외부 URL 호출 JSON 형태 가져오기 (2) | 2017.05.13 |
spring boot 스프링 부트 호스팅 서버에 올리기 (2) | 2016.11.12 |
파일 첨부 기능 만들면서 작업 정리 (0) | 2016.09.28 |
액셀 > html Form > DB (0) | 2015.11.24 |