[우아한테크코스 백엔드 4기] 레벨1 - Java 문법특강 : package와 import 필기 정리

헌치·2022년 2월 17일
2

우아한테크코스

목록 보기
8/30

package

  • 효율성을 늘리고 관리하기 위함

다른 package에 같은 이름의 클래스/package 생성 가능!

  • 네이버…우형… packagemvc
  • 만약 다른package 같은이름 클래스 인스턴스를 생성하고 싶을 때
  • 하나는 import, 하나는 full path? -> 가독성 떨어짐
  • 보통 바꿀 수 있는 클래스 이름을 바꿈
  • package 이름과 실제 경로가 다르면 : 컴파일이 안됨

의미있는 package 이름을 만들어라

  • built-in package : Integer, String
    • 자바 안에 내장되어 있어 import 없이 사용 가능
  • 예전에는 기본경로 클래스는 import 없어도 됐지만
  • 지금은 import 해야 됨
    • built-in package와 헷갈려서...

Class와 Instance

  • 메인 메소드는 클래스 메소드(static)

Static vs non-static

  • Static : 프로그램 내에서 단 하나

    • 상수(constants) : static final ~
    • 유틸성 클래스에서 많이 사용 (상태를 가질 필요 x)
    • Private을 통해 외부 접근 막을 수 있음
    • Static 메소드 안에서 인스턴스 생성 가능
      • 해당 실행이 끝나면 사라짐
  • non-static : 프로그램 내에서 여러 값

  • 예약어 : if, while, public

  • 정적 팩토리 메소드 : 객체를 생성해주는 메소드

  • 싱글톤 패턴(나중에 학습하면 됨)

QnA

  • Q1 : Static import : 테스트 코드에서 주로 사용
  • Q2 : static이 객체지향적이지 않아서 사용을 지양해야 한다는 글을 봤는데, 유틸성이 아니라면 많이 안 쓰는게 좋을까요?
    - 도메인(Model, 객체)이 아닌 유틸성으로 만든다면 큰 상관 x
    - 그러나 유틸성도 도메인으로 만들면 더 좋다
    - 객체지향적이지 않아서 사용 많이 안하는게 좋다

참고자료

우테코 교육페이지 글
[이펙티브 자바] 객체 생성 : 3판 2장 “객체 생성과 파괴” 참고

profile
🌱 함께 자라는 중입니다 🚀 rerub0831@gmail.com

0개의 댓글