[TIL] 220516

Moon·2022년 5월 16일

오늘 한 일

  • Azure로 배포하기
  • Java 기초 문법 강의

Java 기초문법

자료형

자바의 자료형에는 기본형과 참조형이 있다.

  • 기본형 (primitive type) : 정수형, 실수형, 논리형 등 계산을 위한 실제 값을 저장한다. (8개)
  • 참조형 (reference type) : 객체의 주소를 저장한다.
  • Array는 초기화를 하지 않고 선언하면 해당하는 타입의 초기화된 값을 default로 가진다.
    int는 default값이 0이고 참조형인 String은 기본값이 없기 때문에 null로 나온다.
int[] isEmptyArray = new int[5];
isEmptyArray[0] = 1;
isEmptyArray[1] = 3;

System.out.println(Arrays.toString(isEmptyArray));   // isEmptyArray -> alt + enter (감싸줌)

int[] intArray = new int[] {1, 2, 3, 4, 5};
System.out.println(Arrays.toString(intArray));

String[] stringEmptyArray = new String[5];
System.out.println(Arrays.toString(stringEmptyArray));

String[] season = {"봄", "여름", "가을", "겨울"};
System.out.println(Arrays.toString(season));

System.out.println(season[season.length -1]);

객체지향

클래스 = TV설계도, 붕어빵 기계...
인스턴스 = TV, 붕어빵...

클래스
객체를 정의해 놓은 것으로 객체를 생성하는데 사용된다.

인스턴스

어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 한다.

ex)

class Phone {
    String model;
    String color;
    int price;
}

public class Main {
    public static void main(String[] args) {
        Phone galaxy = new Phone(); 
        galaxy.model = "Galaxy10";
        galaxy.color = "Black";
        galaxy.price = 100;
        
        Phone iphone =new Phone();
        iphone.model = "iPhoneX";
        iphone.color = "Black";
        iphone.price = 200;
        

        System.out.println("철수는 이번에 " + galaxy.model + galaxy.color + " + 색상을 " + galaxy.price + "만원에 샀다.");
        System.out.println("영희는 이번에 " + iphone.model + iphone.color + " + 색상을 " + iphone.price + "만원에 샀다.");
    }
}

상속
기존의 클래스를 재사용해서 새로운 클래스를 작성하는 것.
extends라는 키워드와 함께 상속받고자 하는 클래스를 적어준다.

✅ 오버로딩 (overloading)
: 한 클래스 내에 같은 이름의 메서드를 여러 개 정의하는 것 ( ->메서드 이름이 같고 매개변수의 개수나 타입이 달라야 한다.)
✅ 오버라이딩 (overriding)
: 부모에 있는 똑같은 함수를 자식 함수가 구현해서


👩‍💻

오랜만에 자바를 하니까 뭔가 숨통이 트이는 느낌이다. 근데 막상 스프링도 배우고 프로젝트까지 진행하다 보면 다시 어려워서 답답해지겠지만(?) 그 전에 다시 기초를 다지고 열심히 공부하다보면 조금 나아지겠지? 자바 문법은 익숙하지만 객체지향 개념은 아무리 공부해도 헷갈리는 부분이 많아서 확실히 이해하고 넘어가야겠다.

또 한 주가 시작됐는데 주어진 시간을 효율적으로 잘 사용하고 지치지 않게 조절해가면서 해야할 것 같다.

profile
매일 성장하는 개발자 되기😊

0개의 댓글