지역 변수 : 메소드 내부에 선언된 변수
전역 변수 : 메소드 외부, 클래스 내부에 선언된 변수
정적 변수 : static이 붙은 변수
공통 요소들을 추상적으로 묶어놓은 틀
여러 변수들과 메소드들을 둘 다 쉽게 관리하고 사용하기 위해 쓴다.
주어이다.
모든 문장 맨 앞에 클래스가 나오고
영어는 맨 앞을 항상 대문자로 적는다.
따라서 클래스는 주어이고, 대문자로 시작한다.
food = "banna"
Monkey.eat(food)
[주어] [동사][목적어]
타입이다.
클래스는 추상적인 개념이고 이 클래스 안에는 필드가 존재한다.
추상적인 것을 바로 사용할 수 없기 때문에 그 필드들을
구체화시킨 대상이 필요하다. 이러한 것들을 "객체"라고 부르고
영어로는 instance variable 이라고 부른다.
instance 예, 예시라는 뜻이고 추상적인 개념의 한 예시로써 객체가 나오기 때문에 instance variable 이라 부른다. 추상적인 개념인 클래스를 객체로 구체화 해서 만드는 작업을 객체화 라고 하며 instance화 라고 한다. 클래스명 객체명; String msg; 따라서 클래스는 그 객체의 타입이다.
다른 클래스 외부에서 선언한다.
class 클래스명{
필드 선언(변수, 메소드)
}
class Car{
String brand;
String color;
int price;
Car(String a, String b, int c){
brand = a;
color = b;
price = c;
}
}
클래스는 추상적인 틀이기 때문에 먼저 객체화를 진행한다.
클래스명 객체명 = new 클래스명();
객체.변수
객체.메소드()
Car mycar = new Car("Ferrari","Red",65000);
System.out.println(mycar.brand);
하나의 저장공간에는 단 한개의 값만 담을 수 있다.
필드에는 여러개의 값이 존재하기 때문에 필드는 다른곳(Heap)에
할당되고 할당된 필드의 주소값을 기억하는 것이 객체이다.
클래스 이름 뒤에 소괄호
생성자는 메소드와 똑같은 기능을 가지고 있다.
리턴을 할 수 없기 때문에 메소드라고 부르지 않는다.
클래스 선언시 자동으로 생성자가 하나 만들어지고 코드상에는 나타나지 않는다.
이런 생성자를 기본 생성자라고 하며, 만약 직접 생성자를 선언하게 되면
기존에 있던 기본 생성자는 사라지게 된다.