개인 공부/TIL

TIL #220518 #JAVA #NET

kaleb 2022. 5. 18. 22:31
728x90

일주일이 어떻게 돌아가고 있는걸까요 나는 누구 여긴 어디? 벌써 수욜이 다 지났습니다. 

시간이 지날수록 내용이 많아지고 어려워져서 더이상 도망갈 곳이 없는 것 같습니다...

그렇다면 한점돌파!!

피곤해도 오늘도 어김없는 TIL 진행해보겠습니다.

 

오늘은 오전 오후 JAVA로 시간표가 구성되어있었지만 오전에는 JAVA 오후에는 네트워크 시간이 있었습니다.

이전까지의 네트워크는 기초단계의 네트워크수업이었다면 이제 조금 난이도가 올라 갈 것 같은 불길한 예감

 

오전 JAVA

 

 

생성자 this

어제 제가 작성한 생성자 this에서 조금의 오류가 있었던 것 같습니다.

어제까지는 반복을 줄여준다는 부분이 정확하게 이해 되지 않았는데 복습하는 과정에서 이해가 되었습니다.!!

클래스의 생성자 오버로딩시 반복되는 소스를 줄여주는 방법입니다.
생성자 내부의 코드 블록 첫줄에 this()를 호출함으로 자신의 다른 생성자를 호출 할 수 있습니다.
단, this() 위에 다른 소스코드가 존재해서는 안됩니다!

class Car3 {
	String color;
	String gearType;

	public Car3(){
		this("white", "auto"); //첫 줄에서 사용
	} 

	public Car3(String color) {
		this(color, "stick");
	/*
	*this.color = color
	*gearType = "stick"
	*을 두번 선언하지 않아도됨!
	*/
	} 

	public Car3(String color, String gearType) {
		this.color = color;
		this.gearType = gearType;
	}
}

 

호출하는 방법

public static void main(String[] args) {
Car3 ca = new Car3();
System.out.println(ca.color + " & " + ca.geartype); // white & auto 가 출력됨!

Car3 ca1 = new Car3("Red");
System.out.println(ca1.color + " & " + ca1.geartype); //Red & stick 이 출력됨!
}

 

패키지 :

클래스의 묶음으로서 (물리적으로)하나의 디렉토리 폴더의 개념입니다.

클래스나 인터페이스를 함께 묶음으로서 파일을 효율적으로 관리할 수 있음!

디렉토리의 계층구조는 .(dot)으로 구분이 됩니다.

 

Ex)

java.lang.String (String 클래스의 패키지 이름)

 

현재 제가 사용하는 eclipse의 버전은 1.8이라 기본적으로 default package가 사용되고 있지만 최신버전에서는 항상 package의 이름을 설정해주어야 합니다.

 

패키지 이름의 중복 방지 방법

여러 회사가 참여하는 개발의 경우 패키지 이름이 중복될 가능성이 있습니다.
따라서 서로 중복되지 않도록 회사의도메인 이름으로 패키지를 만듭니다.
도메인 이름으로 패키지 이름을 만들 경우에는 도메인 이름의 역순 으로 패키지이름으로 작성합니다.

 

Ex)

com.samsung.projectname

com.naver.projectname

 

Import :

패지키에 속한 클래스를 다른 파일에 사용하기 위해서는 클래스 이름 앞에 패키지의 경로까지 포함한 풀 네임을 명시해서 사용해야 합니다.

긴 이름을 사용하는 것은 비효율적임으로 자바에서는 import 키워드를 별도로 제공하고 있습니다.

 

import문은 자바 컴파일러 코드에서 사용할 클래스의 패지지에 대한 정보를 미리 제공하는 역할을 합니다!

 

<기본 문법>

  • import 패키지명.클래스명;
  • import 패키지명.*;
  • import 단축키 : Ctrl + Shift + O (자동완성기능을 통해서 해당 클래스만을 import할 수도 있음)

참고

http://www.tcpschool.com/java/java_usingClass_package

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com


오후 네트워크

 

라우터 패킷 서브넷마스크 DNS 서버등등의 저와는 다른 언어들이 많이 나와서 급하게 개념정리를 하였습니다.

 

라우터 :

패킷의 위치를 추출하여 그 위치에 대한 최적의 경로를 지정하며, 경로를 따라 데이터패킷을
다음 장치로 전향시키는 장치입니다.

이름 그대로 네트워크와 네트워크 간의 경로를 설정하고 가장 빠른 길로 트래픽을 이끌어 주는 네트워크 장비입니다.

 

패킷 :

네트워크에서 출발지와 목적지 간에 라우팅 되는 데이터 단위입니다.

 

스위치 :

소규모 비즈니스 네트워크 안에서 디바이스들을 서로 연결함으로써 리소스를 쉽게 공유할 수 있도록 합니다. 

 

ISP (=internet Service Provider) 인터넷 공급업체(skt, kt 등등)

 

DNS 서버 : Domain Name System

도메인이름과 IP 주소를 서로 변환하는 환경/시스템입니다.

인터넷은 서버들이 구분할 수있는 IP주소로 기본체계가 되어있는데 숫자로 이루어진 조합을 사람이 기억하기에는 무리가 있음으로 DNS를 통해서 ip주소를 사람이 기억하기 편한 언어체계로 변환하는 작업을 DNS가 해줍니다.

 

Subnet Mask :

간단하게…

IP address에서 첫비트 부터 어디까지가 네트워크 부분인가를 구분하여 알려주는 역할을 한다고 합니다

네트워크 부분은 1(2진법으로 표기됨), 호스트 부분은 0입니다.

  • A class : 1 ~ 126 255.0.0.0
  • B class : 128 ~ 191 255.255.0.0
  • C class 192 ~ 223 255.255.255.0

Cisco Packet Trace :

인터넷의 구성하는 장비들과 접속 및 연결하는 방법을 실제와 비슷하게 가상으로 연습 할수 있는 프로그램입니다.

 

네트워크 주소 :

호스트 자리를 0으로 설정한 주소(컴퓨터이 넣을 수 없는 주소)

  • 네트워크 자리(서브넷 마스크의 255 로 채워진 필드)
  • 호스트 자리(서브넷 마스크의 0으로 채워진 필드)

Ex)

A class (255.0.0.0) 네트워크 자리는 첫번째 필드, 호스트 자리는 2, 3, 4번째 필드

⇒ 네트워크 주소는 2, 3, 4 번째 필드의 숫자를 0으로 설정한 주소

 

IP 1.1.1.1의 주소를 가지는 컴퓨터의 네트워크 주소를 구하면?

⇒ 첫번째 필드의 숫자가 1이므로 A Class 이다.

A class의 서브넷 마스크는 255.0.0.0 이므로 호스트 주소는 2, 3, 4 번째 필드임

네트워크 주소는 호스트 자리를 0으로 채운 주소이므로,

1.0.0.0 이 된다!!!

 

options - preferences - Interfae Always show Port Labels을 체크해두면 포트 레이블이 항상 표기됨~

 

Static route 설정 :

Static route : 정적 라우팅, 관리자가 직접 목적지 네트워크 주소 정보를 라우팅 테이블에 등록하는 방식입니다. (관리자가 ip route 주는 방법, 지도만들기

일반적으로 규모가 작은 네트워크에서 사용하고 있다고 합니다.

설정순서

저는 설정순서를 3가지로 분류하였습니다.

  1. IP Configure : Pc의 IP주소, 서브넷마스크, Gateway를 설정해줍니다.
  2. IP add : Int f0/0 과 같은 방식으로 설정하고자 하는 인터페이스에 접근하고 IP add [라우터가 연결해야할 주소] [서브넷마스크] , no shut down의 방식으로 연결하고자 하는 곳을 모두 연결해줍니다.
  3. Ip route : 라우터가 모르는 지도의 길을 입력해서 밝혀줍니다.(해당 라우터가 알지못하는, 연결되어있지 않는 라우터의 길을 밝혀줍니다.) ip route [네트워크 주소] [서브넷 마스크] [다음으로 가야할 방향]

정상적으로 작동하는지 simulation 기능을 이용해서 check 해보고 편지가 잘 전달된다면 ping으로 체크 하면됩니다.!

반응형

'개인 공부 > TIL' 카테고리의 다른 글

TIL #220520 #JSP #DB  (0) 2022.05.20
TIL #220519 #DB #WEB  (0) 2022.05.19
TIL #220517 #JSP #JAVA  (0) 2022.05.17
TIL #220516 #JSP  (0) 2022.05.16
TIL #220513 #JSP  (0) 2022.05.13