<day6 진도>

day6. 열거형

-목표: 열거형을 만들고 사용할 수 있다.
-목적: 상수에 이름을 붙이는 것
-열거타입 선언
		enum 열거형명 {이름1, 이름2, 이름3, ...}
-열거 타입 변수 선언
		열거타입 변수선언
		열거형명 변수명;
		열거형명 변수명 = 열거형명. 이름;

자바

객체지향 프로그래밍 언어(OOP) *OOP= Object Oriented Programming의 약자
-순서대로 동작(절차를 따르지만)
-객체에 초점을 맞춤

C언어

-절차지향 프로그래밍 언어
-순서에 초점을 맞춤

자바와 C언어의 다름을 설명하기 위한 예시)

Quest: 설문지를 인쇄
절차지향
		-인쇄하는 기능을 이용하여 인쇄(기능만 있으면 이용해서 quest를 하고 끝내면 됨)

객체지향
		-인쇄를 하기위한 프린터 설계도(클래스)를 만듬
		-설계도를 이용하여 프린터(인스턴스, 객체)를 생성	=>(프린터라는 객체가 필요하기 때문에 객체지향이라고 함)
		-프린터를 이용하여 인쇄

클래스

-멤버 변수(정보들)
-멤버 메소드(기능들)
-생성자(초기화)

예)
Quest: 자동차만들기
- 멤버 변수: 바퀴 수, 와이퍼갯수, 회사명, 차종, 차명, 시동(켜졌는지 꺼졌는지), 속력, 기어, ...등
- 멤버 메소드: 시동 켜기/끄기, 와이퍼 켜기/끄기, 속력 up/down, ...등
- 생성자 : 바퀴수 4, 와이퍼갯수 2, 회사명 기아, 차종 소형차, 차명 k5, 시동 꺼짐, 속력 0, 기어 파킹, ...

-클래스 선언
	-class 클래스 명{
				멤버변수들;			=>책에서는 "필드"라고 부름
				멤버메소드들;
				생성자;
	}

-클래스 명 작성 규칙은 변수명 작성규칙과 동일
-클래스명 작성 관례
	-클래스 명(이름)의 첫글자는 대문자 => 관례(꼭 안지켜도 상관은 없으나, 이클립스가 지키도록 유도를 하고, 일반적으로 지킴ㅋ)

객체생성과 클래스 변수

-객체 선언=>(객체는 아직 안만들어졌어)
		클래스명 객체명;
-객체 생성=>(객체가 만들어짐.)
		클래스명 객체명 = new 클래스명();

-멤버 변수와 일반 변수의 차이점
	-일반 변수는 초기값이 자동으로 초기화되지 않음.
	-멤버 변수는 초기값이 자동으로 초기화 됨.
-멤버 변수 사용
	-객체명. 멤버변수명 = 값; 		//. 이들어가는게 포인트