-
(JAVA) 자바 클래스와 객체JAVA/컨셉 , 예제 2018. 8. 24. 10:54
프로그래밍을 하는 이유는 특정 문제를 해결하는 절차에 대해 자동화를 해 편하게 하기 위해서라고 생각할 수 있다. 우리는 모든 상황에서 어떤 목표를 위해 필요한 절차를 거친다.
커피를 사는 경우를 생각해보자.
커피를 사기 위해 커피전문점에 들어가 메뉴를 생각하고, 고른 메뉴를 점원에게 주문한다. 점원은 이를 확인하고 결제 방법을 고객에게 물어봐 각기 다른 결제 방법에 따라 다른 방법으로 결제를 돕고 진동벨을 고객에게 준다. 이후 커피를 만들고 진동벨을 울려 고객이 음료를 수령할 수 있도록 한다. 일련의 과정 중 이미 자동화 된 절차들이 굉장히 많고 이러한 것들은 프로그래밍에 의해 이루어졌다고 볼 수 있겠다. 이러한 프로그래밍을 하기 위해 우리는 실세계와 비슷한 개념들을 프로그래밍 언어로 불러와 서로 상호작용 할 수 있도록 돕는다. 자바에서는 실세계의 일부를 클래스로 표현한다고 생각하며 된다.
편의점의 손님을 클래스로 만들어보자.
편의점에 와서 물건을 고르고, 그 물건을 카드 또는 현금으로 구매한다. 이후 편의점을 떠나는 것을 손님이 하는 일련의 절차라고 하자. 손님이 하는 행위는
1) 물건 선택
2 - 1 ) 물건 현금으로 결제
2 - 2 ) 물건 카드로 결제
3) 편의점을 떠난다.
로 볼 수 있다. 이를 클래스로 작성하면 다음과 같다.public class Customer { void choice() { // 물건 선택 System.out.println("Customer selects some stuff"); } void buyByCash() { // 물건 현금 결제 System.out.println("Customer Buys some item with cash"); } void buyByCard() { // 물건 카드로 결제 System.out.println("Customer Buys some item with card"); } void out() { // 상점을 떠남 System.out.println("Customer leaves the store"); } }다음과 같이 메인함수를 만들어 실행해보자.
'JAVA > 컨셉 , 예제' 카테고리의 다른 글
(JAVA) 자바 래퍼(Wrapper) 클래스 (0) 2018.08.24 (JAVA) 자바 상수 (final) 사용이유와 방법 (0) 2018.08.24 (JAVA) 자바 형변환 ( Type Casting ) (0) 2018.08.24 (JAVA) 자바 변수의 범위(Scope)와 참조 & this (0) 2018.08.24 (JAVA) 자바 리터럴(Literal) 의미와 용도 (0) 2018.08.24