자바의 기본 골격 - 클래스를 잘 만들자.


class MyClass {   // 클래스 이름 


int value;    // 멤버 필드


MyClass {...}        // 생성자

MyClass(int v){...}


void my_func{....}  // 메소드

void my_func(int x){...}


public static void main(String args[]){ // 메인 메소드


}


++++++추가 적으로

static field/method, 상속, 인터페이스, 접근지정자, 패키지



식별자 에 대한 룰

> 이름을 어떻게 정의해야 하는가 

> 자바 키워드 이해하기


자바의 데이터 타입

> 기본타입 8개

  boolean 1

  char 2

  byte 1

  short 2

  int 4

  long 8 

  float 4  -> f,d붙는 것.

  double 8

> 레퍼런스 타입 3개: 객체가 가르키는 주소의 값


상수

> final 키워드를 사용한다.

> class, Method 


타입 변환

> Typed language : 각 변수가 가지는 값들, 타입에 대해 민감한 언어. int에는 int 값만 들어가야한다.

> 더 큰 타입에 작은 타입을 넣을 경우에는 자동 타입변환이 일어 난다. .

> 강제 타입변환시에는 강제적으로 타입을 바꿔줘야한다.


Scanner 사용하는 법.


연산자 우선순위 알아두고, 잘 모르겠다 하면 괄호를 사용하자.

비트연산자 시프트 연산자 그냥 알아보기

조건연산자 등등...조건문, 다중조건문, 스위치문, case문,반복문


배열

> 자바 배열은 선언하는 과정, 생성하는 과정 총 두가지 과정을 꼭 거쳐야한다.

> int intArray[] = {0,1,2,3}

> int intArray[] = new int[]

> Array of points

> 자바 배열은 비정방형 배열이다.

>> int x[5][4]

>> array of pointer

>> 각 행과 열의 개수가 다를 수 있다. 


자바의 예외 처리(Exception)

tr{

//예외 가능성

}

catch (처리할 예외처리){

}

final {

}

> flow 알아두기


클래스 구조

> 객체

> 메소드 형식

> 메소드 오버로딩 (같은 기능 메소드 바꿔서 


this

> this.x 자기자신 >super.x 부모클래스

> this(..)     > super(...) 생성자

> 생성자를 호출할때 가장 처음으로 선언을 해줘야한다.


생성자 룰

> 생성자 선언이 안되어있을 때 자동으로 생성자를 만들어준다. (기본생성자를)


접근 지정자

> 누가 접근을 지정하고 할 수 있을지

> 아무것도 없다.(default)-> 패키지 안에서만 or public -> 패키지 상관없이

> default, private, public, protected(default+상속클래스)


static VS non-static

static F static M

non F non M


S,F S,M <- non N


객체가 만들어지지 않아도 사용 가능하다. 

non 객체 static은 클래스와 연관이 있다고 생각하면 된다. 

차이점에 대해 ppt참고하기


상속

> sub 생성자

>> 부모클래스 생성자(생략가능)

>> 초기화

>> (타입변환) >> 메소드 오버라이딩 


A obj = new A();

A obj = new B();


호출이 가능한지 부모 자식 클래스 내부의 필드사용하는거

실제 호출? 가리키는 객체 부모자식 필드에서 객체생성사용하면 자식으로 간다


인터페이스



패키지

ppt에 있는 사용법


스트림에서 가장 중요한거 7-10 예제 파이프 라이닝    


제너럴 코딩한번씩 해보기

Vector 제네릭 메소드 정의














'2017 > JAVA' 카테고리의 다른 글

Class 이용연습 (Animal Class)  (0) 2017.07.04
주사위 놀이(java.util.Random)  (0) 2017.07.04
INTRO  (0) 2017.03.04

2017-05-31


실습과제: 

0. 와이어 샤크 다운받아오기 (Wireshark)


조사과제: 

1. 자신의 ARP테이블 캡쳐하기

2. tracert or traceroute 가 뭔지 조사.

2. 내 컴퓨터에서 www.kyonggi.ac.kr 까지 패킷이 거쳐가는 게이트 웨이 경로 확인해서 캡쳐하기 

> tracert or traceroute 이용

3. www.kyonggi.ac.kr 까지 거쳐가는 게이트웨이 ip주소중 5개의 할당 정보 확인해 캡쳐하기 

> whois.kisa.or.kr 이용



*첨부파일 제목은 네트워크3_학번_이름 으로 작성

*PPT로 정리해서 <2017-06-01(화) AM11:59> 까지 제출



화요일 과제 못한 사람은 화요일 과제도 완성해서 제출 (누군지 알고있다)


목요일 한시간 수업 후 종총 실시 예정입니다. 

'C_Lab > 네트워크' 카테고리의 다른 글

네트워크 과제 2번째  (0) 2017.05.25
네트워크 과제 1번째  (0) 2017.05.23
네트워크 할일  (0) 2017.05.23

트리: 계층적인 구조를 나타내는 자료구조 (부모-자식)관계






용어:

> 노드 : 트리의 구성요소 (A ~ J)

> 루트 : 부모가 없는 노드 (A)

> 서브트리 : 하나의 노드와 그 노드들의 자손들로 이루어진 트리 (B,E,F,G) (C,H) (D,I,J)

> 단말노드 : 자식이없는 노드   (E~J)

> 비단말노드 : 적어도 하나의 자신을 가지는 노드 (B,C,D)

> 자식,부모,형제,조상,자손

  조상노드 - 루트노드에서 임의의 노드까지의 경로를 이루고 있는 노드들을 뜻함

  자손노드 - 임의의 노드 하위에 연결된 모드 노드들을 말한다.

> 레벨 : 트리의 각 층의 번호 (루트(A)=1, B,C,D=2, E~J=3)

> 높이 : 트리의 최대 레벨 (3)

> 차수 : 노드가 가지고 있는 자식 노드의 개수 (B=3, C=1, D=2)




이진트리 : 모든 노드가 최대 2개의 서브트리를 가질 수 있는 트리, 각 노드에는 최대 2개까지의 자식 노드가 존재


특성:

> 노드의 개수가 n이면 간선의 개수는 n-1이다.

> 높이가 h이면, 최소 h개의 노드를 가지며, 최대 2^h-1개의 노드를 가진다.

> 노드의 개수가 n개이면 이진트리의 높이는 최대n이거나 최소 log2(n+1)이 된다.


표현:

> 배열로 구현 : 포화이진트리로 가정하고 각 노드에 번호를 붙여 배열의 인덱스에 저장

> 연결리스트로 구현 : 포인터를 이용해 부모노드가 자식노드를 가리키게 한다.



순회:




전위순회 (preorder) -> 자손보다 루트노드를 먼저 방문한다.

<부모노드 처리후 자식노드를 처리해야 하는 경우>



> 중위순회 (inorder) -> 왼쪽 자손, 루트 , 오른쪽 자손 순으로 방문한다.



> 후위순회 (postorder) -> 루트보다 자손을 먼저 방문한다.

<자식노드 처리후 부모노드를 처리해야 하는 경우>




노드개수, 높이 구하기


> 노드개수 구하기 : 루트(1) + 왼쪽(순환) + 오른쪽(순환)

> 높이 구하기 : 루트(1) + MAX(왼쪽(순환) VS 오른쪽(순환))




수식트리 : 후위순회를 사용, 서브트리의 값을 순환호출로 계산  





스레드 이진 트리: NULL링크에 중위 순회시에 후속 노드인 중위 후속자(inorder successor)를 저장시켜 놓은 트리




이진 탐색 트리: 탐색,삽입,삭제





+ Recent posts