2021-03-28(Sun)

항목

내용

학습 날짜

2021-03-28(일)

학습 시간

11:00~23:00

학습 범위 및 주제

java spring

학습 목표

자바 스프링 배포를 하자!

동료 학습 방법

-

상세 학습 내용

java 복습 진행!

java의 패키지 개념

  • 자바에서 패키지란 클래스들의 모음이다. 이를 통해 라이브러리들간의 구분이 가능하며, 편리하게 프로젝트를 관리할 수 있다.

  • 모든 자바 패키지들은 가장 상위 패키지인 java와 javax 패키지에 종속되어 있다.

  • 패키지(Package)를 사용하는 가장 큰 이유는 클래스명의 고유성을 보장하기 위해서이다.

  • 패키지 이름의 고유성을 보장하기 위해 최상위 패키지명에 com.examplecode와 같은 방식으로 인터넷 도메인 주소를 거꾸로 사용하기도 한다. 인터넷 도메인은 이미 고유성을 가지고 있기 떄문에 다른 충도을 걱정할 필요가 없기 때문이다.

  • 클래스는 같은 패키지내 모든 클래스들과 다른 패키지내 모든 public 클래스들을 사용할 수 있다. 이를 위해

    • 클래스 선언전 import 키워드로 패키지 전부 또는 클래스 1개만을 가져와 사용하는 방법과

    • 패키지 전체 주소를 가져와 사용하는 방식이 있다.

      ex) java.util.Date today = new java.util.Date();

    • import 문이 편리하긴 하지만 서로 다른 패키지에 같은 클래스명이 존재하고 이를 사용하려 한다면 에러가 발생할 수 있으므로 패키지 전체 주소를 가져와 사용하는 방식을 사용해야 한다.

    • 클래스를 패키지에 종속시키려면 클래스 선언전에 package 키워드를 이용해 어떤 패키지에 속해있는지 정해줘야한다. 만약 정해주지 않는다면, 클래스는 기본적으로 default package에 속하게 되고, default package는 아무런 패키지 이름을 가지지 않는다.

    jdk의 src.zip 경로에 클래스 소스 파일들이 저장되어있다.

Object 클래스

  • java.lang.Object 클래스이다.

  • 모든 클래스는 Object 클래스의 메서드 중 일부느 재정의 할 수 있다.(final로 선언된 메서드는 재정의할 수 없다.)

  • 컴파일러가 컴파일 타임에 extends Object를 추가한다.

학습 내용에 대한 개인적인 총평

예제 코드를 따라쳤음에도 스프링 시큐리티에서 문제가 생겼다. 놀랍게도 에러 로그가 따로 찍히지도 않아서 왜 문제가 생겼는지 추측해야했는데, 이 문제를 지금 해결하기 보다, 이제 지금 가진 갈증을 바탕으로 스프링 프레임워크를 찐하게 학습해봐야겠다는 결심이 섰다.

멘토님들과의 면담이 있었는데, 필요 이상으로 자존감을 깎을 필요도, 주제넘게 오만해질 필요도 없다. 초조함을 버리고 겸허하게 시간을 받아들이고 목표를 위해 노력하자.

다음 학습 계획

  • 디자인패턴 학습

Last updated