메소드 오버로딩 매개변수의 유형과 개수가 다르게 하여, 같은 이름의 메소드를 여러개 가질 수 있게 하는 기술 메소드 오버로딩 ** 메소드 오버로딩은 매개변수 부분이 달라야 한다. ** 변수명은 다르지만, 매개변수의 타입과 개수가 동일한 메소드를 또 정의 할 수는 없다.
this this는 현재 객체, 자기 자신을 나타낸다. this의 사용 name=name 이라는 코드를 사용할 경우,* 가깝게 선언된 변수를 우선으로 사용하기 때문에 매개변수의 name값을 매개변수 name에 대입하라는 의미가 된다.* 즉 필드는 바뀌지 않는다. 이런 경우 필드라는 것을 컴파일러와 JVM에 알려주기 위해서 this 키워드를 사용해야 한다. * 클래스 안에서 자기 자신이 가지고 있는 메소드를 사용할 때도 this.메소드명()으로 호출할 수 있다.*
생성자 모든 클래스는 인스턴스화 될 때 생성자를 사용한다. 생성자의 특징 생성자는 리턴타입이 없다. * 생성자를 프로그래머가 만들지 않으면 매개변수가 없는 생성자가 컴파일할 때 자동으로 만들어진다.* 매개변수가 없는 생성자를 기본생성자라고 한다. 생성자를 하나라도 프로그래머가 만들었다면 기본생성자는 자동으로 만들어지지 않는다. 생성자의 역할 생성자가 하는 일은 객체가 될 때 필드를 초기화 하는 역할을 수행한다. ex) 자동차가 객체가 될때 반드시 이름을 가지도록 하려면,
자바에서의 변수 사용 범위 변수가 선언된 블럭이 그 변수의 사용범위이다. 클래스 속성으로 선언된 변수 globalScope의 사용범위는 클래스 전체이다. 매개변수로 선언된 int value 는 매서드 선언부에 존재하므로 사용범위는 해당 메소드 블럭내이다. 매소드 블럭내에서 선언된 localScope 변수의 사용범위는 메소드 블럭내이다. main메소드에서 사용하기 main은 static한 메소드이다. static한 메소드에서는 static하지 않은 필드를 사용할 수 없다. > static main메소드는 static이라는 키워드로 메소드가 정의되어 있다. 이런 메소드를 static한 메소드라고 한다. static한 필드(필드 앞에 static키워드를 붙임), static한 메소드는 Class가 인스턴스화 되지 않아도 사용가능하다. static한 변수는 공유된다. **static하게 선언된 변수는 값을 저장
메소드란? 메소드는 입력값이 있고, 그 입력값을 받아서 무언가 한 다음 결과를 도출해 내는 수학의 함수와 비슷한 개념이다. 이때, 입력값을 매개변수라고 하고, 결과값을 리턴값이라고 한다. 인자(Argument)는 어떤 함수를 호출시에 전달되는 값을 의미 매개 변수(Parameter)는 그 전달된 인자를 받아들이는 변수를 의미 메소드는 클래스가 가지고 있는 기능으로, 클래스 안에 선언된다. 메소드의 선언 및 사용 > String클래스의 메소드 String Class가 제공하는 메소드 이용하기