JAVA
- 자바는 객체지향적 프로그래밍 언어(OOP)
✔️ 객체지향적 언어(OOP)
프로그래밍에 사용 될 데이터의 상태와 행위를 객체로 만들어,
객체간의 상호작용을 통해 비지니스 로직을 구성하는 프로그래밍 기법입니다.
JAVA의 특징
- 운영체제 독립적이다.
- JVM(자바가상머신) 위에서 동작하기 때문에 운영체제에 독립적이다.
- JAVA는 운영체제나 하드웨어와는 통신하지 않고, JVM과만 통신한다.
- JVM은 운영체제 종속적이다.
- JAVA는 한번만 작성되어도 어느 운영체제에서도 사용이 가능하다.
- 객체 지향 언어이다.
- 기본 자료형을 제외한 모든 요소들이 객체로 표현되어 있다.
- 객체 지향 개념의 특징인 캡슐화, 상속, 다형성이 잘 적용된 언어입니다.
- 자동 메모리 관리를 해준다.
- 가비지 컬렉터가 자동으로 메모리를 관리해준다. (그래서 메모리를 체크,반환하는 일을 해줄 필요가 없다)
- 네트워크와 분산처리를 지원한다.
- 자바는 풍부하고 다양한 표준 라이브러리를 제공한다.
- 멀티쓰레드를 지원한다.
- 관련 라이브러리를 제공한다.(JAVA API)
- 여러 쓰레드에 대한 스케줄링은 자바 인터프리터가 담당한다.
- 동적로딩을 지원한다.
- 작성한 자바 어플리케이션에 클래스가 여러개여도 모두 로딩하지 않고, 필요할 때마다 로딩하여 사용한다.
그래서 변경사항이 발생하여도 전체 어플리케이션을 다시 컴파일하지 않는다.
- 작성한 자바 어플리케이션에 클래스가 여러개여도 모두 로딩하지 않고, 필요할 때마다 로딩하여 사용한다.
JVM 위에서 동작하기 때문에 실행 속도가 상대적으로 느리다.
다중 상속이나 타입에 엄격하며, 제약이 많다.
JAVA 접근제한자
- 자바 접근제어자는 클래스, 인터페이스, 멤버변수, 함수 등의 접근을 제어하는 지시어를 말함
- 접근제어자를 사용함으로써, 외부 객체의 무분별한 접근으로부터 내부 데이터를 보호할 수 있다.(데이터 무결성)
- public : 모든 패키지, 모든 클래스의 접근 허용
- protected : 같은 패키지, 모든 클래스의 접근 허용 (단, 다른 패키지인 경우 자식 클래스의 접근 허용)
- default : 같은 패키지 내 클래스만 접근 허용
- private : 같은 클래스 내 접근만 허용
JAVA 접근제한자를 사용하는 이유
객체지향 프로그래밍이란 객체들 간의 상호작용을 코드로 표현하는 것인데,
이때 객체들간의 관계에 따라서 접근 할 수 있는 것과 아닌 것, 권한을 구분할 필요가 생긴다.
클래스 내부에 선언된 데이터의 부적절한 사용으로부터 보호하기 위해서 접근 제어자를 사용한다.
(참고)
공부한 내용을 여러글과 책 읽은 내용을 바탕으로 정리하고 있습니다.
좋은 글로 저의 공부에 도움을 주시는 분들께 감사드립니다.