KDT 공부 일지 - 2026.01.12

김시코·2026년 1월 12일

KDT 공부 일지

목록 보기
5/27

2026년 1월 12일 월요일 - 4주차


패키지

  • Package : 폴더별로 클래스를 나누는 것.
  • 명명법: 소문자로만 작성한다.
    다른 패키지에 있는 메서드나 클래스를 사용하고자 한다면 import문을 사용해서 가져와야 한다. 참고로 동일한 패키지에 있는것은 import 하지 않아도 된다. 이때, 동일한 이름을 갖는 클래스를 2개이상 import 할 수 없으며 다른 패키지의 클래스를 사용하기 위해서는 클래스명 앞에 패키지명을 붙여줘야 한다. 동일한 이름의 클래스를 2개 이상 생성하게 되면 너무 복잡하기 때문에 원칙적으로는 동일한 이름을 가지는 클래스는 있어선 안된다.

    또한, 자바 파일 하나에는 public 클래스가 하나만 있을 수 있고, 그 public 클래스의 이름은 파일 이름과 같아야 하며, 프로그램을 실행하려면 그 클래스 안에 main 메서드가 있어야 한다. 이때까지는 하나의 클래스 파일이 하나의 프로그램이었지만. 이제는 2개 이상의 클래스 파일(하나의 패키지)이 하나의 클래스 파일이 된다.


API

Scanner: 스캐너도 java.util 패키지 안에 존재하는 클래스이다. 그렇기때문에 Scanner을 치고 자동완성을 시키면 자동적으로 상단에 java.util이 import 되는것을 볼 수 있다.

  • Scanner scanner = new Scanner(System.in); 이 기본 문법이지만, 저 System.in 이 들어가는 곳에는 다양한것들이 들어갈 수 있는데, String 타입이기 때문에 null, 문자열 들이 들어간다. 하지만 값을 넣지 않으면 파라미터를 받지 않는 생성자가 없기 때문이다.
  • scanner. 을 했을때 뜨게되는 자동 완성들은 Scanner클래스에 정의된 메서드들이다

    이 사진에서 왼쪽 내용들은 메서드의 이름이고 오른쪽의 내용은 리턴 타입이다.
    delimiter을 기준으로 설명해보겠다. 이때, 참조변수로 접근했기 때문에, 여기 자동완성에 보이는 것들은 인스턴스 메서드이다.(static이 붙은것들은 여기에는 나오지 않기 때문) 그리고 리턴타입 뒤에 . 을 붙이면 나오는것은 static일 것이며, 캡슐화를 통해서 우리가 볼 수 있는것들만 나온다. 그러면 이때 자동완성에 나오는 메서드의 리턴타입이 int라고 가정했을때, 그 클래스는 Public static int로 시작할 것이다.

    Math: 외부값에 의존하는 것은 static으로 만드는게 보통이기 때문에 Math. 을 했을때 나오는것들은 대부분 static이다. static은 참조변수가 아니기 때문에 인스턴스 생성이 필요없다(생성자를 private로 막아둠)


    코드 짤때 자동완성을 제대로 보지 않고 하지말고, 리턴타입이 뭔지 파라미터로는 뭘 받는지 등을 한번씩 읽어 보고 공부하기. 잘 만들어진 멋진 코드들을 보면서 공부하는게 좋은데, 이때 다른걸 찾아보기보다는 API들을 보는것도 좋다. 세상에서 제일 코드 잘 짜는 사람들이 만든것이 자바의 API. 메서드를 선택하고 F12를 누르면 API구현부로 넘어갈 수 있다. 이때 로직을 제대로 볼 필요는 없고, 값이 어디로 넘가는지 등을 보면 된다. (볼 필요가 없는 이유: 코사인을 어떻게 계산하는지 우리는 봐도 알 수가 없기 때문...)


추상화

클래스를 활용하는것은 어떤 절차적인 코드를 클래스로 역할을 분담하고 그것을 감싸는 것이다. 추상화 레벨에 맞는 명칭을 작성하는것이 중요하다.


클래스 다이어그램

클래스 다이어그램에는 3가지가 들어가는데, 첫번째는 클래스의 이름, 두번째는 멤버변수 - Attribute, 세번째는 메서드 - Operation()로 이루어진다.
접근 제한자를 표시할때는 기호를 사용한다.
+name: String
-age: int
-score: int
이 3가지는 다 멤버변수이며, Public String 타입 변수 name, private static int 타입 변수 age, private int 타입 변수 score 라는 뜻이다.
메서드를 표시할 때는 『접근제한자 메서드명(매개변수): 리턴타입』 의 형식으로 작성한다.


profile
취업하고싶다...

0개의 댓글