차근차근 개발자 되기

Java

9일차: Java 패키지/접근 제어자/날짜시간 관련 클래스 - 2021.06.25

wellow 2021. 6. 25. 17:43

목차

1. 패키지

2. 날짜/시간 관련 클래스(Date, Timestamp, Calendar)

 

Intro

필드의 접근제어자가 private일 때 필드에 값을 할당하는 방법

1. 생성자의 매개변수를 통해 필드값을 초기화 시켜서 접근

2. set() 메소드의 매개변수를 통해 할당

 

1. 패키지(Package)                             → ★RandomEx 참고

 

1) 패키지

패키지(package): 관련 있는 클래스를 묶어 놓은 것

• java.lang 패키지 - 기본 패키지

                        - 자바에서 가장 사용 빈도가 높은 클래스를 묶어 놓은 패키지

                          ex) java.lang.String

                              java.lang.System

                              java.lang.Integer

 

 * 기본 패키지(java.lang)외의 패키지는 import해서 사용해야 함.

   ex) import  java.util.Date;

        import  java.util.Random;

        import  java.util.Scanner;

 

        import  java.util.*;     (java.util 패키지에 있는 모든 클래스를 한꺼번에 부를 때)

 

2) 접근 제어자

- 클래스, 필드, 생성자, 메소드 앞에 붙일 수 있음               → ★Calling, Called 참고

- 종류: private, default, protected, public

접근 제어자 자신의 클래스 같은 패키지 하위 클래스 다른 패키지
Private O X X X
생략(default) O O X X
Protected O O O X
public O O O O

* 캡슐화

- 객체의 필드, 메소드를 하나로 묶고, 실제 구현 내용을 감추는 것

- 외부 객체는 객체 내부 구조를 알지 못하며 객체가 노출해 제공하는 필드와 메소드만 이용 가능

- 필드와 메소드를 캡슐화하여 보호하는 이유는 외부의 잘못된 사용으로 인해 객체가 손상되지 않도록

- 자바 언어는 캡슐화된 멤버를 노출시킬 것인지 숨길 것인지 결정하기 위해 접근 제한자(Access Modifier) 사용

 

3) 패키지와 import

같은 패키지 안에 들어 있는 클래스

(폴더 A) Called.java : check() 메소드

(폴더 A) Calling.java : main() 메소드

 

- 같은 패키지 안에 들어 있는 클래스에 접근 하기 위해서는 접근 제어제가 public이나 default 접근 제어자로 되어 있어야 한다.

- 같은 패키지 안에 들어 있는 클래스에 접근 하기 위해서는 import를 하지 않아도 된다.

 

다른 패키지 안에 들어 있는 클래스

(폴더 A) Called.java : check() 메소드

(폴더 B) Calling.java : main() 메소드 

 

- 다른 패키지 안에 들어 있는 클래스에 접근 하기 위해서는 접근 제어제가 public 접근 제어자로 되어 있어야 한다.

- 다른 패키지 안에 들어 있는 클래스에 접근 하기 위해서는 해당 클래스를 import를 해야 된다.

 

2. 날짜/시간 관련 클래스(Date, Timestamp, Calendar)

- Date: java.util             

(패키지: Java.text → 클래스: SimpleDateFormat)

- Timestamp: java.sql

- Calendar: (패키지: Java.util→ 클래스: Calendar)