클래스(Class)와 객체(Object)
객체 지향 언어
•
캡슐화
•
상속
•
추상화
•
정보은닉
클래스에 대한 이해
•
클래스 = 붕어빵 틀
•
객체 = 붕어빵
클래스란?
•
필드 = 변수
•
클래스 = 변수 + 메소드를 정의해 놓은 것
•
클래스 소스코드 자체가 아닌 소스코드를 컴파일한 ~.class 파일이 붕어빵틀 역할
객체란?
현실에서의 객체 VS 프로그램의 객체(instance, Object)
클래스 정의 후 객체 생성
Ex) CircleTest.java
// 1. 클래스 정의
class Circle {
int radius; // 반지름 -> 인스턴스 변수
String color; // 색상
double calcArea() {
return 3.14 * radius * radius;
}
}
public class CircleTest {
public static void hello(int age) {
// System.out.println(age);
}
public static double circleArea(int radius) {
return Math.PI * radius * radius;
}
public static void main(String[] args) {
hello(25);
// 2. 참조 변수 선언
Circle obj;
// 3. 객체 생성
obj = new Circle();
// 4. 객체 필드 접근
obj.radius = 100;
obj.color = "blue";
// 4. 객체 메소드 접근
double area = obj.calcArea();
// System.out.println("원의 면적 = " + area);
double area1 = circleArea(10);
System.out.println(area1);
}
}
Java
복사
•
CircleTest.java파일의 클래스는 2개
Circle class, CircleTest class
•
Java에서는 어플리케이션 실행 시 가장 먼저 main()메소드를 실행
main메소드에 대해 이해
•
참조 변수 선언 시 앞에 작성하는 데이터 타입은 클래스명과 일치하도록 작성하여 객체를 선언
클래스가 객체가 되기까지
객체의 생성과 메모리 할당
•
객체 생성 문법