객체지향언어 장점
public class CircleAreaTest {
public static void main(String[] args) {
Circle c1 = new Circle();
Circle c10 = new Circle();
}
}
Circle 클래스으로부터 반지름 1인 c1 객체를 생성한 것이다.
객체 = 데이터(속성, 변수/상수) + 알고리즘(행위, 함수)
객체의 특징
public class Circle {
static final double PI = 3.141592;
double getArea(double radius){
return radius * radius * PI;
}
}
Circle 클래스를 만들고자 했을 때 c1, c10 객체를 만들다고 가정하자. 반지름빼고는 원의 넓이를 구하는 행위는 같은 속성과 행위를 이용한다. 이 공통된 특성들을 이용해서 CIrcle 클래스를 만드는 것이다.
이외에도 많은 특징들이 있는데 이 특징들은 이후에 다뤄볼 것이다.
[접근제한][클래스종류] class <클래스 이름>
class Circle{
double radius; //[접근제한] [클래스종류]은 꼭 명시해야 하는 것은 아니다.
}
객체 = 데이터(속성, 변수/상수, 멤버필드) + 알고리즘(행위, 함수, 메서드)
객체의 속성을 저장하는 것이 멤버필드이다.
double radius;
static double radius;
객체가 수행할 수 있는 동작들을 메서드라고 한다.
double getArea(double radius){
return radius * radius * PI;
}
Circle c1;
c1 = new Circle();
c1.radius = 1;
double area = c1.getArea();