new
: 객체를 생성할 떄 사용하는 키워드
객체 변수 : 클래스 내부에 선언된 변수
class Animal {
String name; // 객체변수 생성
public void setName(String name) { // 객체의 이름을 설정하는 메소드 생성
this.name = name; // this는 Animal 클래스에 의해 생성된 객체(dog)를 지칭
}
}
public class Sample {
public static void main(String[] args) {
Animal dog = new Animal(); // 객체 생성
dog.setName("뭉치");
System.out.println(dog.name);
}
}
클래스 내의 함수
중복되는 코드를 줄이고, 가독성을 높일 수 있음
관리가 용이하고, 재사용성을 높일 수 있음
하나의 메서드는 한 가지 기능만 수행하도록 작성
메서드 = 선언부 + 구현부
// ---------------------- 선언부 -----------------------
public static void method_name(int a, String params) {
// 접근 반환 메서드 매개변수 목록
// 제어자 타입 이름
// -----------------------------------------------------
// 구현부
// -----------------------------------------------------
}
접근 제어자 : 해당 메소드에 접근할 수 있는 범위 명시 자세히 알아보기
반환 타입(return type) : 메소드가 모든 작업을 마치고 반환하는 데이터의 타입 명시
void
: 반환값 없음 (return 생략 가능)int
: int 데이터 타입을 반환 (return 생략 불가)char
: char 데이터 타입을 반환 (return 생략 불가)String
: String 데이터 타입을 반환 (return 생략 불가)boolean
: boolean 데이터 타입을 반환 (return 생략 불가)메서드 이름 : 메서드를 호출하기 위한 이름 명시
매개변수 목록 : 메서드 호출 시 전달되는 인수의 값을 저장할 변수들을 명시
구현부 : 메서드 고유의 기능을 수행하는 명령문의 집합
지역 변수(Local variable) : 메서드 내에서만 쓰이는 변수(메서드 영역)
public class Sample {
int sum(int a, int b) { // 매개변수는 지역 변수
int result = a+b; // result도 지역 변수
result result;
}
}
public class Sample {
int sum(int a, int b) { // a,b는 매개변수(parameter)
return a+b;
}
public static void main(String[] args) {
// 메소드 호출
Sample sample1 = new Sample();
int c = sample.sum(1,2); // 1,2 는 인수(argument)
System.out.println(c); // 3
}
}