앞에서 자바의 언어에 대하고 각자의 용도를 말했다.
이젠 각자의 쓰임 및 조건을 말할 차례이다.
클래스의 이름은 첫문자를 무조건 대문자로 써야한다.
클래스는 객체를 만드는 기본 도구
인스턴스가 헷갈리다면 앞에서 보고 오면 됩니다
변수와 함수가 모여 만든 하나의 꾸러미
객체를 만들기 위해서는 클래스와 인스턴스가 필요하다.
예시
Calculator c1 = new Calculator();
Calculator라는 객체를 만들고 c1이라고 하는 변수에 담았으며 c1의 데이터형은 객체의 이름(Calculator)을 가지고 있어야 한다.
new가 붙어 있기 때문에 메소드가 아닌 객체다.
(출처: 생활코딩)
클래스를 new를 이용 → c1,c2의 객체를 만들음
이러한 객체를 인스턴스라고 말함인스턴스 안에는 left,right의 값인 변수를 가지고 있으며
c1과 c2는 동일한 클래스라 동작하는 방법은 똑같다.left,right의 값인 변수((ex)left : 10, right: 20)를
객체가 가지고 있는 상태라고 하며
상태를 바탕으로 객체에게 메소드를 호출하는 것이 행위가 됨즉, 객체라고 하는 것은 상태와 행위에 집합
현실 세계의 객체를 소프트웨어 객체로 설계하는 것
현실 세계 객체의 속성과 동작을 추려내어 소프트웨어 객체의 필드와 메소드로 정의 하는 과정
자동차 ( Car ) 라는 객체가 있다면 자동차의 이름, 자동차 번호를 가지고 있을것이며 그것을 속성이라고 부르고 그것을 필드라고 부른다.
학생(Studeut)이 20명이 있다면 학생(Studeut)이라는 객체가 20개 있다는 것이며, 각각의 학생은 이름이 구별되며 객체별로 속성의 값이 유지된다.
이름과 번호를 필드로 가지고 있는 Car 클래스 선언
public class Car {
//타입 변수명
String name;
int number;
car라는 클래스에 이름과 번호를 필드로 선언함.
public class CarExam {
public static void main(String[] args) {
Car c1 = new Car();
Car c2 = new Car();
//car클래스 인스턴스화 하기(car 객체 2개 생성 )
c1.name = "자동차";
c1.number = 1234;
//참조 변수 다음에 나오는 점은 참조변수가 참조하는 객체가 가지고 있는 것을 사용할 때 사용
c2.name = "버스";
c2.number = 5678;
System.out.println(c1.name);
//c1이 가지고 있는 name 이라는 값을 출력해주세요
System.out.println(c1.number);
System.out.println(c2.name);
System.out.println(c2.number);
}
}
필드가 물체의 상태라면 메소드는 물체의 행동이다.
car에 비교 하자면 필드는 이름,번호 메소드는 전진,후진이다.
메소드는 입력값이 있고, 입력값을 받아 무엇을 한 다음 결과값을 도출해낸다.