선언한 객체에 최초로 값을 넣어주는 것
이유 : 클래스 영역에서 선언할 경우, 컴파일러가 자동으로 값을 할당을 해주나
메소드 영역에서 선언할 경우, 자동으로 값이 할당 되지 않기 때문
클래스 영역
에서 정의한 변수는 필드, 전역변수라로 부르고
메소드 안
에 있는 변수는 지역변수라 부른다.
변수를 사용할 수 있는
범위
전역변수는 메소드안에서 바로 사용할 수 있고, 지역변수를 메소드 안에서만 사용한다.
그러나 메인 메소드는 static변수가 아닐 경우 객체화해야 클래스 변수 사용이 가능하다.
메소드와 변수를 모아놓은 클래스를 사용할 수 있도록
선언
하고 값을 넣어
해당 클래스의 변수나 메소드를 사용 가능한 상태로 만드는 것
접근 제어자
,반환형 메소드명
,아규먼트
와중괄호
로 이루어져 있다.
객체화를 한 뒤 메소드를 호출하면서 보내는 것은파라미터
메소드에서 받아온 걸 정의해서 사용하는 것은아규먼트
(파라미터라 해도 됨)
메소드를 정의 할 때 반환타입을 적어 주는데, 예를 들어 String이면 return 값에 String 타입의 값을 반환해야 한다.
반면 void 타입은 아무것도 반환하지 않는다.
return 받은 값을 가지고 추가로 무언가를 수행해야 하면 일반적인 데이터형으로 설정한 후 반환 받아서 수행하면 된다.
생성자는 객체화 시 초기화 해주는 역할.
클래스명과 메소드명이 동일해야 하고, 리턴 타입이 없어야 한다.
예를들어 객체에 특정 값을 넣어주고 싶은 경우 파라미터를 받아서 생성자에 넣어준다.
동일한 이름의 변수가 사용될 경우 클래스 영역에서 정의한 변수를 식별하기 위해 사용하는 것
이미 클래스 내에 동일한 이름의 메소드, 변수가 있어도 super.을 붙여 상속받은 클래스의 메소드, 변수를 사용할 수 있다.
static을 사용하면 바로 메모리에 할당 되기 때문에 객체화를 하지 않고 바로 사용할 수 있다.