ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (김영한의 자바 입문) 3 - 내용 정리
    개발/Java 2024. 5. 28. 13:47

    ※ 입문의 경우 기초적인 내용이 많아 참고하면 좋을 내용이나 까먹었던 내용 위주로 적는다. 

    ※ [ ] 내용은 강의 자료 번호 및 목차를 나타낸다.

     


     

    [3. 연산자]

    0으로 나누기는 수학에서 허용하지 않아 프로그래밍에서도 작동하지 않는다.
    .equals() : 문자열 비교 메서드

     

    [6. 스코프, 형변환]

    * 형변환(Casting) : 금속이나 다른 물질을 녹여서 특정한 형태나 모양으로 만드는 과정을 의미한다.

    형변환은 묵시적 vs 명시적 형변환이 있다. 

     

    개발자가 직접 형변환을 하는 것이 명시적 형변환이다. 

    ex) 

    double doubleValue = 1.5;

    int intvalue = 0;

     

    intValue = (int) doubleValue;    <--- 작은 int형에 큰 double 형을 넣지 못하므로 명시적으로 형변환 시킨다. 

     

     

    만약 기존 범위를 초과해서 표현하게 되면 - 로 전혀 다른 숫자가 표현되는데, 이런 현상은 오버플로우 이다. 

    이런 오버플로우가 발생하는 것 자체이기 때문에 아예 나타나지 않게 애초에 intValue가 Long 타입으로 설정해준다. 

     

    [7. 훈련]

    사용자의 입력을 받는 클래스 = Scanner 
    Scanner scanner = new Scanner(System.in)
    scanner.nextLine() : 입력을 String으로 가져온다.
    scanner. nextInt() : 입력을 Int 로 가져온다.


    엔터(\n) new line character : 줄바꿈 문자 or 개행문자
    새로운 라인으로 넘긴다. 

    ※ nextInt() 는 숫자만 가져가기 때문에 \n이 남는다. 

    따라서 nextInt() 만 사용하고 다음에 사용값을 받는 경우 문자를 입력하지 않았는데도 넘어가는 현상이 발생한다.
    이를 input.nextLine() 을 통해 한 줄을 그냥 읽게 만들어준다. (= \n 없애기)

     

    [8. 배열]

    * 기본형vs참조형

    - 기본형(Primitive) : 사용하는 값을 직접 넣을 수 있다. (int, double, boolean 등)
    - 참조형: 메모리 참조값을 넣는 것 (배열, 객체)

    기본형은 선언과 동시에 사이즈가 정적으로 정해짐.
    배열은 동적으로 사이즈 변경이 가능하다. (동적 메모리 할당)

    ※ 리팩토링 : 기존 코드의 기능은 유지하면서 내부 구조를 개선하여
    가독성을 높이고 유지보수 용이하게 하는 과정이다.
    => 기능은 똑같은데 코드를 개선하는 것

     

    * 배열
    배열.length : 배열의 길이
    배열생성과 초기화
    ex) int[] students = new int[]{80, 90, 100, 70, 60};
    ex) int[] students = {80, 90, 100, 70, 60}; (한 줄 선언 및 초기화만 가능)

    행(row) 열(column)

     

    [9. 메서드]
    public static int add(int a, int b) <-매개체가 된다. 
             반환타입 메서드 이름 매개변수(파라미터)

    int : 반환타입
    add : 메서드 이름
    int a, int b : 메서드 호출할 때 전달하는 입력 값(메서드안에서만 사용함)
    파라미터 = 매개변수

    * 인수 / 매개변수
    - 인수(argument) : hello, 20 처럼 넘기는 값을 인수(들어가는 수), 인자, 아규먼트
    호출자 입장에서 넘기는 값, 전달하는 수
    - 매개변수(parameter) : 메서드를 정의할 때 선언한 변수 String str, int age 를 매개변수, 파라미터라 한다. 

    메서드를 호출할 때 인수를 넘기면, 그 인수가 매개변수에 대입된다.

    인수 : 들어가는 수로 메서드 내부로 들어가는 값을 의미  -> 들어가는 정확한 값
    매개변수 : 매개와 변수 합성어로 중간에서 전달하는 변수로   -> 어떤 타입을 어떤 변수로 받을 것인지 
    메서드 호출부와 메서드 내부 사이에서 값을 전달하는 역할하는 변수

    odd : 홀수
    even : 짝수

    자바는 항상 변수의 값을 복사해서 대입한다. ★★★★★
    int num2 = num1

    num1에 들어가있는 값을 읽고 복사해서 num2에 넣는 것이다. 

    * 메서드 오버로딩( Overloading )
    : 이름이 같고 매개변수가 다른 메서드를 여러 개 정의하는 것
    오버로딩 번역하면 과적, 즉 과하게 물건을 담았다는 뜻이다. 
    같은 이름의 메서드를 여러개 정의했다고 이해

    메서드 시그니처 = 메서드 이름 + 메개변수 타입(순서)
    메서드를 구분할 수 있는 고유한 식별자나 서명을 뜻한다. 
    반환타입은 시그니처에 포함하지 않는다. 
    ex) int add(int a, int b)    double add(int a, int b)

    '개발 > Java' 카테고리의 다른 글

    (Do it 자바) 2 - 변수와 자료형 (1)  (0) 2023.05.31
    (Do it 자바) 1 - 자바 프로그래밍 시작하기  (2) 2023.05.25
Designed by Tistory.