일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- JPA
- scanner
- sql
- date
- set
- BFS
- CSS
- Union-find
- math
- 스택
- string
- Calendar
- spring boot
- html
- Java
- map
- GC로그수집
- dfs
- deque
- 큐
- alter
- Properties
- List
- priority_queue
- NIO
- union_find
- 리소스모니터링
- 스프링부트
- javascript
- 힙덤프
- Today
- Total
매일 조금씩
11/12 - Java(4) : package, import, 접근 제한 본문
시험 내용
1. 웹페이지를 구성하는 프로그램 종류
html(구조)/css(디자인)/javascript(기능)
JSP : Java를 기반으로 하는 Server Side 스크립트 언어로 이게 있어야
정적인 html과 동적으로 생성된 contents를 혼합하여 사용할수 있다.
즉 사용자가 입력한 contents에 맞게 동적인 웹 페이지를 생성한다.
2. javascript를 해석하는 엔진 : v8
구글에서 만든 오픈소스 자바스크립트 엔진이며 , c++로 만들어졌다.
3. HTML
<script type = "text/javascipt"></script>
외부 js
<script type = "text/javascrit" src="파일주소"></script>
4. 변수와 상수를 선언하는 법
var, let, const
5. 함수 선언과 사용
선언적 함수
function dofunc(){ }
익명함수
콜백 함수
let dofunc1 = function() { }
=> 화살표 함수
let dofunc1= () => { }
6. 내장함수
setTimeout
setInterval
eval : 내용을 프로그램적으로 읽어서 실행시킨다.
7. (일차)배열 선언
let arr1 = [];
let arr2 = new Array();
8. 내장 객체의 종류(용도)
기본 객체 : 자료형과 관련된 객체
BOM : 브라우저와 연관된 객체
DOM : html태그(document)와 관련된 객체
복습 & 개념 정리
한개 일때
class 선언
멤버필드
인스턴스멤버필드
스태틱멤버필드
* 초기화 블럭
인스턴스
스태틱
메서드
인스턴스메서드
스태틱 메서드
* constructor(멤버필드 초기화)
* main
* overloading
* this - 자기 참조 / this() - 생성자
두개 이상 일때
has ~ a : 포함(인스턴스)
is ~ a : 상속
class 파생클래스 extends 공통클래스
overriding
super / super()
final 클래스명 - 상속거부
final 메서드명 - 재정의 거부
final 필드명 - 상수
OOP 프로그램 4대 특성
캡슐 ****(오늘)
상속
추상
다형
클래스 - 캡슐화
▷p256
▷p189 - 객체 지향 프로그래밍의 특징
캡슐화(은닉, data hiding)
접근 제한자를 사용하여 구현한다.
1. 접근 제한자
public | 모두 접근 가능 |
protected | 자식 클래스가 아닌 다른 패키지에 소속된 클래스에서 접근 불가 |
default | 다른 패키지에 소속된 클래스에서 접근 불가 |
private | 모든 외부 클래스 접근 불가 |
main()메소드를 가지지 않는 대부분의 클래스는 외부 클래스에서 이용할 목적으로 설계된 라이브러리 클래스이다.
( main()메소드 -> 실행담당 )
메소드는 public으로 가고, 필드는 private이다.
메소드를 통해서 필드에 접근할 수 있다. 왜? 메소드는 제어문이 있기 때문에 필터링이 된다.
같은 클래스 내에서의 접근은 무조건 허용이다. ex) 같은 클래스 내의 메소드에서 멤버변수 호출 항상 가능
클래스에 적용할 수 있는 접근제한은 public, default 두가지이다.
protected, private은 부분적 제한을 하기 때문에 클래스는 절대 protected, private을 쓰지 않는다.
보통 멤버필드는 엄격하게 private, 메서드는 pulic으로 하는 것이 일반적이다.
2. Getter와 Setter 메소드
▷p265
1) setter 메소드 : 필드값 변경 - set필드이름(첫문자 대문자)
2) getter 메소드 : 필드값 사용 - get필드이름(첫문자 대문자)
→ 필드 타입이 boolean일 경우엔 get말고, is로 시작하는 것이 좋다.
3. 패키지
▷p248
- 패키지는 곧 폴더다.
- 패키지는 단순히 파일 시스템의 폴더 기능만 하는 것이 아니라 클래스의 일부분이다.
- 패키지는 클래스를 유일하게 만들어주는 식별자 역할을 한다.
- 도메인명에서 우리가 알고있는건 www.naver.com인데, 원래는 com.naver.(www...)이다. com이 제일 큰개념이다.
- 패키지 선언이 없으면 디폴트 패키지로 같은 폴더내에 클래스 파일이 만들어진다.
! 주의사항 !
1) 반드시 -d . 을 써서 컴파일 해줘라 안하면 오류는 안나지만 나중에 실행때 불러오지 못하는 오류 발생한다.
2) 패키지로 실행파일을 만들었으면 실행도 패키지로 해야한다. 그 패키지 즉 실행파일 있는 폴더 안에서 실행하면 오류뜬다.
ex) import exam.com 을 추가하여 만들었으면 실행 코드는 java exam.com.PackEx02가 된다.
3) import.com.mycompany.* 에서 처럼 * 이거 쓰지마라!
규칙
- 숫자로 시작해서는 안되고, _, $를 제외한 특수 문자를 사용해선 안된다.
- java로 시작하는 패키지는 자바 표준 API에서만 사용하므로 사용해서는 안된다.
- 모두 소문자로 작성하는 것이 관례이다.
3-1. 패키지 선언
▷p249
package 상위패키지.하위패키지;
public class ClassName { ... }
3-2. 패키지 선언이 포함된 클래스 컴파일
▷p250
패키지 선언이 포함된 클래스를 명령 프롬프트에서 컴파일할 경우, 단순히 javac -encoding utf-8 ClassName.java로 컴파일해서는 컴파일 폴더가 생성되지 않는다.
- javac -d . -encoding utf-8 ClassName.java 처럼 컴파일을 해야한다.
패키지 클래스는 패키지로 호출해야한다. cmd에서 java ClassName으로 호출되지 않는다.
소스가 있는 디렉토리에서 경로를 입력하여 호출한다.
- java com.exam.PackEx02 -> 호출 가능
- C:\Java/com/exam> java PackEx02 -> 호출 불가능
3-3. import문
▷p253
패키지 컴파일로 클래스파일 만들기 예시
4. 접근 제한자 - import 문
▷p256
'빅데이터 플랫폼 구축을 위한 자바 개발자 양성과정' 카테고리의 다른 글
11/13 - Java (5) : eclipse, java.lang( Object , String ) (0) | 2020.11.16 |
---|---|
11/13 - 미니프로젝트 : html, css로 자기소개 페이지 만들기 (3) | 2020.11.16 |
11/11 - Java (3) : 생성자, final, 객체 참조 배열, 상속, 오버라이딩 (0) | 2020.11.11 |
11/10 - Java (2) : 배열, 객체지향, 클래스, 메소드, this, static (0) | 2020.11.10 |
11/09 - Java (1) : 자료형, 연산자, 제어문 (0) | 2020.11.10 |