멋사 Backend 23일차 🦁

신재원·2023년 5월 18일

🚩 Java

💪 monthly test 해설

  • 가장 헷갈렸던 3문제

📍 1.

public class Main {
    private static int number = 3;

    public int number() {
        return 5;
    }

    public static void main(String[] args) {
        int number = 5;
        Main main = new Main();
        
        System.out.println(number);
        System.out.println(main.number());
    }
}

출력 결과는 ?

5
5
입니다.

  • 이유는 main 에서는 멤버변수보다 지역변수 int number = 5; 멤버변수 보다 우선권을 갖습니다.

📍 2.

public class Main {
    public static void main(String[] args) {

        int number = 0;
        for (int i = 0; i <10; i++); {
            number += i;
        }
        System.out.println(number);
    }
}

실행 결과는 ?

정답은 에러입니다.

  • 이유는 for 문 뒤에 세미콜론이 있으므로 이로 인해 for 문은 빈 문장이 되고, 중괄호({})로 둘러싸인 블록은 "별개의 문장" 으로 처리됩니다.

📍 3.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader
                (new InputStreamReader(System.in));


        System.out.println(br.read() + br.read());
    }
}

100 과 200을 입력하였을때 출력값은 ?

정답은 97 입니다.

  • 이유는 .read() 라는 메소드는 한개의 문자를 읽고, 그 문자를 정수형태로 변환해줍니다.
  • 👀
    그 결과로 100 과 200을 입력하였지만, .read() 메소드는 한개의 문자를 읽기 때문에
    '1''0'을 읽어 '1' + '0' 연산후 정수 (아스키 코드)로 반환하여 결과값이 97이 반환됩니다.
    나는 100200이 정답인줄 알았슴다..

💾 DB (데이터 베이스)

  • 개체 (Entity) 간의 관계를 설명하는 데 사용되는 용어입니다.
    • 이러한 데이터 베이스를 관계형 데이터베이스 (RDB) 라 하며
      Mysql이 대표적입니다
  • 이 두 관계는 데이터베이스 설계에서 중요한 개념이며,
    데이터를 구조화하고 관리하는 데 도움이 됩니다.
  • 레코드를 식별하기 위해 고유한 식별자 PK를 사용해야합니다.

1:N (일대다) 관계

일대다 관계 란 ?
👀 한 개체가 다른 개체들과 1 대 N의 관계를 가지는 경우를 나타냅니다.

  • 예를 들어, 한 회사(1) 에 여러 개의 부서(N)가 존재하는 경우, 회사와 부서의 관계는 일대다 관계 입니다.
  • 일대다 관계에서 중요한 특징은 한 쪽 개체가 다른 쪽 개체를 참조(외래 키)하지만, 다른 쪽 개체는 해당 개체를 참조하지 않는다는 것입니다.
  • 예를 들어, 부서는 회사의 외래 키를 가지고 있지만, 회사는 각 부서를 참조하는 외래 키를 가지고 있지 않습니다.

N:1 (다대일) 관계

다대일 관계 란?
👀 다대일 관계는 다수(N) 개체가 한 개체에 속하는 관계를 나타냅니다.

  • 예를 들어, 여러 명의 고객(N) 이 하나의 주문(1)을 가지는 경우, 고객과 주문의 관계는 다대일 관계입니다.
  • 예를 들어, 주문은 고객의 외래 키를 가지고 있지만, 고객은 각 주문을 참조하는 외래 키를 가지고 있지 않습니다.

❗ (외래키는 신중하게 설정해야 합니다.)

0개의 댓글