본문 바로가기

[JAVA]

[JAVA]9월17일 정적변수, 정적메소드, 접근 제어의 종류

정적변수

정적변수는 객체가 없어도 많아도 그냥 한개만 존재.

용도 : 같은 클래스로 만들어진 객체들이 서로 데이터를 공유 하고 싶을때

       굳이 각각 값을 가질 필요가 없을때 예를들면 상수값


ex)public class Car {

      private int speed;

private int mileage;

private String color;

private int id;

* public static int numOfCars = 0; *       << static 사용.

public Car(){

id = ++ numOfCars;

}


정적 메소드 : 정적변수처럼 객체가 없어도 많아도 하나만 존재 하는 메소드.

용도 : 정적변수에 대한 getter/setter

       멤버변수의 상태와 의존성이 없는 작업을 수행하는 메소드.

ex) public static int getNumberOfCars(){


return numberOfCars;  }

호출할때 메인함수에서

System.out.println(Car.getNumberOfCars());

정적 변수나 정적 메소드를 사용할 , 클래스 이름을 통하여 접근하는 이유는 무엇인가?

 정적 변수/메소드는 객체가 아니라 클래스의 영역에 있으니까

       (객체를 만들지 않아도 접근 가능해야되니까)

* 접근 제어의 종류

·클래스 수준에서의 접근 제어

        ·멤버 수준에서의 접근 제어

·public: 다른 모든 클래스가 사용할 수 있는 공용 클래스

·package: 수식자가 없으면: 같은 패키지 안에 있는 클래스들만이 사용

클래스 : 객체에대한 정의  >>관련있는 변수와 함수의 묶음 자료형.



Circle 은 반지름을 상태로 가지면서 저 정보를 이용해 넓이와 둘레를 계산하는 기능을 가지고 있다.