✅Java 기초 3일차

이상민·2023년 7월 12일
0

Java 기초문법

목록 보기
4/7

📗배열

  • 한가지 타입만 저장가능하다.
  • 배열은 객체이다.
    String arr[];arr = new String[5] 배열이 null값으로 초기화된다.
    int arr[]; arr = new String[5] 0으로 초기화
    boolean arr[]; arr = new String[5] false로 초기화
    new로 생성하기 전에는 객체이기 때문에 어떤 자료형이든 null값
  • 명시적 초기화
    int [] arr = {1,3,4,5}
  • ArrayIndexOutOfBoundsException
    배열의 번지수를 벗어났을때 발생
  • NullPointerException
    생성되지 않은 배열을 접근할 때 발생

📗 constructor(생성자)

  • 반드시 method이름이 class이름과 같다(method이름이 대문자로 시작)
  • 생성자 따로 작성안하면 기본 생성자가 만들어진다.
  • returnType 자리가 없다
  • 오버로딩이 가능하다.
  • 객체 생성되는 시점에 딱 한번 호출한다.
  • 같은 class 내에서 다른 생성자 호출할때 this를 사용하여 호출한다.(반드시 생성자 구현부 첫 번째 줄에서만 가능)

private 생성자

class Test{
    private static Test instance = new Test();
    private Test(){
    }
    public static Test getInstance(){
        return instance;
    }
}
public class SingletonClassExam {
    public static void main(String[] args) {
        Test t = Test.getInstance();
        Test t1 = Test.getInstance();
    }
}

👉외부에서의 직접객체 생성을 막기위해(싱글톤패턴에서 주로 사용)
같은 클래스내의 메소드를 통해 생성한다.
getInstance메소드는 접근해야 하니까 static으로 해준다.

싱글톤 패턴을 할 경우 반환되는 instance를 static으로 선언하여 만든다.

Tip 1
'A'+1 에서 char타입은 연산이 가능한데 연산시 int가 된다.
(char)('A'+1) 해주면 B가 나옴
"A"+1은 연산이 안되므로 A1이 나온다.

Tip 2
new Test().arrayTest(); 객체 생성후 메소드 호출하고 바로 삭제(일회성)

Tip 3
System.out.printf("%3d",gugudan[i][j]);
칸수 설정하기

profile
개린이

0개의 댓글