ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java] variable
    언어/Java 2024. 10. 23. 10:37

    아래 내용은 인프런 김영한의 "자바 입문 코드로 시작하는 자바 첫걸음" 강의 중 변수 섹션에서 자세히 보실 수 있습니다. 

    https://www.inflearn.com/course/%EA%B9%80%EC%98%81%ED%95%9C%EC%9D%98-%EC%9E%90%EB%B0%94-%EC%9E%85%EB%AC%B8

    • 지역 변수는 반드시 초기화를 해주어야 컴파일 에러가 나지 않는다. 
    package variable;
    
    public class Var6 {
    
        public static void main(String[] args) {
            int a;
            System.out.println(a); // 컴파일 에러 : 자바 문법에 맞지 않았을 때, 생기는 오류
            // 컴파일 에러 부분을 주석 처리해야 다른 파일들이 컴파일 과정에서 잘 작동할 수 있다.
        }
    }

    • 하지만 변수를 선언만 해주고 sout를 해주지 않았을 때는 오류가 발생하지 않는다. 왜 그럴까?
    • 컴파일러는 코드가 컴파일될 때 변수가 사용되지 않는 경우, 즉 변수 선언 후 사용하지 않는 경우에는 문제가 없다고 판단한다. 하지만 sout 처럼 변수를 사용하려고 하면 초기화되지 않은 상태의 변수를 사용하고자 하는 것이므로 컴파일 에러가 발생한다.
    • Java의 기본 데이터 타입(int, double,..)은 자동으로 초기화 되지 않기 때문에, 값이 할당되지 않은 상태로 존재한다.
      • 기억상 class 등은 자동으로 값이 초기화 된다는 데... 나중에 배운다고 한다. 우선 넘어갔다. 
    • 리터럴 (literal)
    package variable;
    
    public class Var6 {
    
        public static void main(String[] args) {
            int a = 100;     // 정수 리터럴
            double b = 10.5; // 실수 리터럴
            String c = "hello world"; // 문자열 리터럴
        }
    }
    • 코드에서 프로그래머가 직접 적은 100, 10.5 hello world와 같은 고정된 값을 프로그래밍 용어로 리터럴이라고 한다.
    • 즉, 변수에 넣은 변하지 않는 값
    • 헷갈렸던 부분은 파이썬에서 a = 3, for i in a: 하게 되면 a는 리터럴이 아니기 때문에 오류가 났던 적이 있다.
    • 파이썬에서의 리터럴은 다른거냐? 아니다 단지 " 발음만 " 비슷해서 헷갈렸었다. 
    • 파이썬에서의 리터럴은 iterable 이다. iterable은 "반복 가능한 "이다. 
    • 따라서 for i in a의 의도가 a번 만큼 반복하고 싶은 것이라면 for i in range(a): 를 해주는 것이다. 

    실무에서의 타입

    • 자료형 타입들이 매우 많은 데 다 외워야 하나? 
    • 다행이도 실무에서는 int, long double, String 4가지 정도만 쓰인다고 한다. 
    • 그 이유는 메모리 용량이 싸다. 그래서 실무에서는 개발 속도나 효율에 초점을 맞추는 것이 더 효과적이다. 
      • Java의 학습 목적이 코딩테스트가 아니기 때문에 이 부분이 와닿았다. 
    • Java는 기본으로 4byte(int 의 크기)를 효율적으로 계산하도록 설계되어 있기 때문에 int를 많이 사용한다.
    • float 타입은 표현 길이와 정밀도가 낮다. 따라서 실수형은  double형을 많이 사용하는 것이다. 
    • char형 타입 또한 마찬가지이다. "하나의 문자" 를 사용할 떄도 
    char a - 'a';
    String = "a";
    • String 을 사용하자. 

    자바의 언어 관례(라고 하고 규칙이라 말하자)

    • 규칙이라고 말한 이유는 관례라고 하면 안 지켜도 될 거 같지만, 실무에서는 혼자 코딩 하는 것이 아니기 때문에 가독성이 중요하다. 따라서 규칙이라고 생각하고 꼭 지키고 익숙해지도록 노력하자. 
    • 클래스는 첫글자 대문자, 나머지는 모두 소문자. + 카멜 케이스 
      • class Person, class OrderData
    • 변수를 포함한 나머지 : 소문자 + 카멜케이스
      • int student, int studenNumber
    • 예외.1
      • 상수는 모두 대문자를 사용하고 언더바로 구분
        • USER_LIMIT
    • 예외 2
      • 패키지는 모두 소문자를 사용
        • org.spring.boot
    • 변수의 이름은 의미 있고, 그 의미를 명확하게 설명
      • a, b 는 단순한 예제에서나...
      • studentCount 등과 같이 변수의 이름을 보고 추측하기 쉬워야 한다. 
Designed by Tistory.