반응형
클래스 (Class)
- 객체 지향 프로그래밍에서 특정 객체를 생성하기 위해 변수와 메소드를 정의하는 일종의 틀을 의미
- 객체를 조금 더 효율적으로 생성하기 위해 만들어진 구문
객체 (Object)
- 클래스에 정의된 내용대로 메모리에 생성된 것
객체 변수의 선언 및 생성(메모리 할당)
- 객체 변수 선언 : 클래스명 객체명;
- 객체 변수 생성 : 객체명 = new 클래스명();
- 객체의 선언과 생성은 한 줄로도 표현 가능
public class Test {
int a;
}
Test t; // 객체 변수 선언
t = new Test(); // 객체 변수 생성
Test t2 = new Test(); // 객체 변수 선언과 생성
인스턴스 변수 사용과 접근
- 클래스에서 정의한 변수
- 인스턴스 변수는 각각의 독립된 공간을 가짐
- 예) Product p1 = new Product();
-> p1에서 사용되는 변수는 같은 이름의 변수라도 독립된 공간을 가지기 때문에 출력되는 값이 다름
- 예) Product p1 = new Product();
public class Product {
int num;
String name;
public static void main(String[] args) {
Product p1 = new Product();
p1.num = 1;
p1.name = "computer";
Product p2 = new Product();
p2.num = 2;
p2.name = "oven";
System.out.println(p1.num+". "+p1.name);
// 1. computer
}
}
메소드 (Method)
- 클래스 내에서 정의된 함수
public class Hello {
// Hello 클래스 내의 print 메소드 정의
void print() {
System.out.print("HelloWorld!");
}
}
메소드 호출
- 객체 변수의 뒤에 점(.)을 하고 함수이름 입력
- 메소드의 파라미터가 존재 할 경우, 파라미터의 수에 맞춰 호출
public class Hello {
// Hello 클래스 내의 print 메소드 정의
void print() {
System.out.print("HelloWorld!");
}
public static void main(String[] args) {
Hello h = new Hello(); // Hello 클래스 객체화
h.print(); // print 메소드 호출, 파라미터가 없기때문에 괄호 안은 공백
}
}
>>> HelloWorld!
반응형