자바의 4가지 접근 지정자 

 

접근 지정자(access specifier)는 클래스나 멤버들을 다른 클래스에서 접근해도 되는지의 여부를 선언하는 지시어이다.

 

 

클래스 접근 지정

다른 클래스에서 이 클래스를 활용할수 있는지 허용 여부를 지정하는 것으로 말한다.

 

 

public 클래스 

 

패키지에 상관없이 다른 어떤 클래스에게도 사용이 허용된다.


ex) public class World{ //public 클래스


...........


}


디폴트 클래스 (접근 지정자 생략)


같은 패키지 내의 클래스에게만 사용이 허용된다.


ex) class Local{ //디폴트 클래스


...........


}



멤버 접근 지정


<공개범위>

public > protected > default > private


public 멤버


패키지를 막론하고 모든 클래스들이 접근 가능하다


private 멤버 


클래스 내의 멤버들 에게만 접근이 허용된다.


protected 멤버


보호된 공개를 지시 하는것으로 2가지 유형의 클래스에만 접근을 허용한다.

- 같은 패키지의 모든 클래스에 접근이 허용된다.

- 다른 패키지에 있더라도 자식 클래스의 경우 접근이 허용된다


디폴트 멤버(default 또는 package-private)


접근 지정자가 생략된 멤버의 경우, 디폴트(default)멤버 라고 한다.

동일한 패키지 내에 있는 클래스들만 디폴트 멤버를 자유롭게 접근할 수 있다.









'프로그래밍 > JAVA' 카테고리의 다른 글

[JAVA] final  (1) 2018.08.20
[JAVA] String 타입  (8) 2018.08.20
[JAVA]상속-부모클래스, 자식클래스  (5) 2018.08.18
[JAVA]this 레퍼런스  (2) 2018.08.17
[JAVA] 객체 지향의 4가지 특징을 알아보자!  (10) 2018.08.16


객체 지향 OOP

(object oriented program)

 객체 지향 개념은 프로그램을 보다 실제 세상에 가깝게 모델링 하여 실제 세상의 물체를 객체로 표현하고, 객체들의 관계 상호 작용을 설계한 뒤, 각 객체를 클래스로 작성하면 프로그램이 완성된다.

객체 지향 언어의 목적 

-소프트웨어의 생산성 향상

-실세계에 대한 쉬운 모델링


객체 지향의 4가지 특징

추상화(Abstraction) 

추상적인 을 구체적으로 모델링 하는 모든 과정

(=객체를 만드는 모든 과정)

사물들 간의 공통점은 취하고 차이점은 버린다.

중요한 부분의 강조를 위해 불필요한 세부사항은 제거한다.

캡슐화(Encapsulation)

객체를 캡슐로 싸서 내부를 보호하고 볼 수 없게 하는 것으로 객체의 가장 본질적인 특징이다.

-상태와 행위의 캡슐화 (데이터 캡슐화)

-사적인 비밀의 캡슐화 (은닉화)

상속(Inheritance)

class의 데이터와 메소드를 다른 class에 물려주거나 물려받는것.

상속받은 메소드를 추가적으로 데이터와 메소드내용 재사용 가능하다.


다형성(Polymorphism)

같은 이름의 메소드가 클래스 혹은 객체에 따라 다르게 동작하도록 구현되는것을 말한다.

-오버라이딩(overriding) : 슈퍼 클래스에 구현된 메소드를, 서브 클래스에서 동일한 이름으로 자신의 특징에 맞게 다시 구현한다.

-오버로딩(overloading): 클래스 내에서 이름이 같지만 서로 다르게 동작하는 메소드를 여러 개 만드는 메소드이다.




'프로그래밍 > JAVA' 카테고리의 다른 글

[JAVA] final  (1) 2018.08.20
[JAVA] String 타입  (8) 2018.08.20
[JAVA]상속-부모클래스, 자식클래스  (5) 2018.08.18
[JAVA]this 레퍼런스  (2) 2018.08.17
[JAVA]접근 지정자를 알아보자!  (2) 2018.08.17

+ Recent posts