본문 바로가기
Java의 정석/객체지향 프로그래밍 II

제어자

by Hwanii_ 2023. 6. 6.
728x90

 

1. 제어자의 종류는 크게 접근 제어자와 그 외의 제어자로 나눌 수 있다.

 

2. 접근 제어자는 하나의 대상에 하나만 선택해서 사용할 수 있다.

 

3. 그 외의 제어자들은 하나의 대상에 여러 제어자를 조합해서 사용할 수 있다.

 

4. 주로 사용되는 그외의 제어자들은 static, final, abstract, ..

 

 

 

 

 

 

위와같이 메서드에 static을 붙혀서 객체와 무관한 클래스 메서드를 만들면,

인스턴스 변수를 직접 사용할 수 없게 된다.

why ?

인스턴스 변수는 객체가 만들어져야만 사용 가능 해서.

 

// 클래스 메서드는 객체없이도 사용 가능한 메서드 인데,

// 인스턴스 변수가 허용이 되면, 인스턴스 변수의 객체가 있는지 없는지를 알 수 없으니까.

 

 

static이 붙혀져 있는 클래스 변수는 모든 인스턴스에 공통적으로

사용 가능한 변수가 된다.

그래서 어디서든 사용 가능한 모습을 볼 수 있다.

 

 

참고

 

 

 

이런식으로 변수앞에 final이 붙으면 값을 변경할 수 없는 상수가 된다.

 

 

1. 객체화 하는게 목표가 아니라, 설계를 하는것이 목표일 때 만드는 클래스 이다.

 

2. 추상메서드가 메서드 바디 { } 를 버리는 이유 :

어차피 하위 클래스에서 이 메서드를 재정의 해서 사용해야 하므로,

기능을 여기에 구현 해놓을 필요가 없음.

 

3. 각각의 하위 클래스들은 추상메서드를 반드시 재정의 (오버라이딩) 해줘야 한다.

하지 않을 경우 에러가 발생 한다.

반응형

'Java의 정석 > 객체지향 프로그래밍 II' 카테고리의 다른 글

다형성 (Polymorphism)  (0) 2023.06.06
캡슐화와 접근 제어자  (0) 2023.06.06
생성자 super()  (0) 2023.06.05
참조변수 super  (0) 2023.06.05
오버라이딩 (Overriding)  (0) 2023.06.05