풀스택 자바 - 20240731

김진아·2024년 7월 31일

switch

  • 조건이 3개 이상의 조건문이 필요할 때 사용

    문법

    int para = 3;
    switch(para) {
    	case 1:
       	System.out.println("para가 1일 때 실행");
       case 2:
       	System.out.println("para가 1일 때 실행");
           System.out.println("para가 2일 때 실행");
       case 3:
       	System.out.println("para가 1일 때 실행");
           System.out.println("para가 2일 때 실행");
           System.out.println("para가 3일 때 실행");
       default:
       	System.out.println("para가 1일 때 실행");
           System.out.println("para가 2일 때 실행");
           System.out.println("para가 3일 때 실행");
           System.out.println("para가 case에 모두 안 맞을 때 실행");
    }
    
    
    /*출력
    "para가 1일 때 실행"
    "para가 2일 때 실행"
    "para가 3일 때 실행" <-여기까지 case 3: 진행
    "para가 1일 때 실행"
    "para가 2일 때 실행"
    "para가 3일 때 실행"
    "para가 case에 모두 안 맞을 때 실행"  <- 여기까지 default: 실행
    */
  • 조건에 맞는 case부터 맨 아래까지 모두 진행

  • break로 탈출하여 원하는 코드만 진행할 수 있다.

배열

  • 배열은 기본형의 묶음이다. (참조형)

  • 순회시킬때 장점이 있다. (반복문)

  • 한 가지 데이터 타입의 요소만 담을 수 있음 => 클래스 객체는 자유롭게 담을 수 있음

    //일반 배열
    int[] str1 = {1, 2, 3, 4, 5};
    int[] str2 = new int[5]{1, 2, 3, 4, 5};
    
    
    //클래스 객체
    ClassName obj = new ClassName();
    System.out.println(obj.age); //출력: 20
    System.out.println(obj.name); //출력: "홍길동"
    
    class ClassName {  //주의 - 새로 선언한 클래스는 Main클래스 외부에 위치해야함
       int age = 20;
       String name = "홍길동";
       boolean marry = true;
    }

    반복문으로 배열 순회하기(for-each문)

    int[] arr1 = {1, 2, 3, 4, 5};
    for (int i:arr1) {
    	System.out.println(i);
    }
    
    /* 출력
    1
    2
    3
    4
    5
    */

클래스

  • 객체 지향 프로그래밍의 기본 단위
  • 객체의 상태(속성)와 행동(메소드)을 정의
  • 쉽게 말해, 클래스는 붕어빵틀이고 필드와 메소드는 붕어빵 재료들
  • 코드 재활용하기 좋고 효율적이다

필드

  • 클래스 내부의 변수
    class ClassName {
    	int age = 20;
    }
  • 필드 vs 상태
    필드는 클래스 내부의 변수 자체를 말하고(int i = 10;), 상태는 필드의 값(10)을 말한다.
  • 일반적으로 인스턴스 변수&스태틱 변수로 나뉜다.
    => 인스턴스 변수: 클래스의 각 인스턴스(객체)마다 별도로 존재하는 변수
    스태틱 변수: 클래스에 소속되며 모든 인스턴스 객체가 공유하는 변수

메소드

  • 클래스 내부의 함수

  • 메소드 이름의 왼쪽에 있는 데이터 타입은 리턴값의 데이터 타입을 제한한다.
    ※ void는 리턴값이 없을 때 사용한다.

  • 메소드 오버로드
    : 매개변수의 유형과 개수가 다르게 하여 같은 이름의 메소드를 여러 개 가질 수 있게하는 기술

    Calc calc = new Calc();
    calc.plus(1, 2); //출력: 3
    calc.plus(1, 2); //출력: -1
    calc.plus(1, 2); //출력: 2
    calc.plus(1, 2); //출력: 0  -> int형끼리는 나눠도 소수점으로 표기되지 않는다.
    
    class Calc {
      void sayHello() {
      	System.out.println("Hello!");
          // void는 리턴값이 없을 때 사용한다.
      }
      int sayAge() {
        return 20; //오직 int형만 리턴가능하다.
      }
      void plus(int a, int b) {
      	System.out.println(a + b);
      }
      void plus(int a, int b, int c) 
      //위의 메소드와 이름이 같아도 파라미터 개수가 달라서 다른 메소드로 메모리가 부여됨. 즉 다른 메소드로 인식된다. 
          System.out.println(a + b + c);
      }
      void minus(int a, int b) {
      	System.out.println(a - b);
      }
      void multiple(int a, int b) {
      	System.out.println(a * b);
      }
      void divide(int a, int b) {
      	System.out.println(a / b);
      }
    }
profile
https://develop-chick.tistory.com/ 첫번째 블로그

0개의 댓글