ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 21.04.27 / 혁신성장_인공지능 개발자 과정_2일차
    프로그래밍/Java 2021. 4. 28. 21:59

    Today I Learned (TIL)


    변수 작성 규칙

    • 첫 문자는 영어 소문자로 시작, 다른 단어가 붙을 경우 첫 문자를 대문자로 작성 ex) carName

    메소드 작성 규칙

    • 첫 문자는 영어 소문자로 시작, 다른 단어가 붙을 경우 첫 문자를 대문자로 작성 ex) printValue()

    언더바(_) 사용 규칙에 대해

    • 회사 내규 규칙에 따라 다를 수 있다 (대문자를 사용할지 or 언더바를 사용할지)
    • C언어 에서는, _data (참조 데이터 변수용도) 로 명명하는 경우도 있다

    접근지정자

    • public: 모든 곳(함수, 클래스, 패키지, 프로젝트)에서 접근 가능
    • protected: 같은 패키지 내 + 외부 패키지의 상속받은 클래스
    • default: 같은 패키지 내에서만 접근 가능
    • private: 모든 외부 클래스에서 사용할 수 없다
    • 클래스만 public, 다른 필드, 메소드는 default인 경우에는? (외부 패키지에서 new를 할 때)
      • 클래스는 public이라 접근 가능하지만,
      • 필드, 메소드는 default라 접근 불가능(사용할 수 없다)
      • 웬만하면 클래스는 public / 변수는 private / 메소드는 public 으로 설정하자(get, set 함수)

     

    this.*** 이 무엇인가? (현재 속해 있는 클래스를 가리킨다)

    this.name = a; //a를 현재 속해있는 클래스의 name 변수에 저장한다는 의미이다!

    모르는 것


    • lombok 이 뭐지? → 아직 안알려주셨다. 일단 외부 라이브러리라고 생각하자)
    • 정규표현식
    • static method 의 사용에 대해
      • 인스턴스 변수를 건드리지 않고, 평범한 연산이라면 static을 사용할 수 있다. (??)
      • 클래스에 인스턴스 변수가 있을 경우 static 메소드를 사용하지 않는다.(??)
      • static은 static만 접근가능.
    • abstract가 무엇인지
    • 상속(Inheritance) 의 핵심 (재사용성은 핵심이 X)
    • 인터페이스(Interface) 무엇인지

    IT

    • Data를 Information으로 만드는 전체적인 과정

    Digital vs Alalog (https://mathsisfun.com/data/analog-digital.html)

    • Analog: (부드러운 파형)
    • Digital: 수치화 된 것(사진, 음악, 영화 등)
    • ex) 개소리 → 마이크(아날로그) → 앰프(?)or컴퓨터 → 디지털 변환(수치 화) → 스피커(아날로그로 출력)

    아날로그 → 디지털 변환

    Data Type

    • 같은 2진수(0101) 라도 Data Type이 다르면 값이 달라진다.
      • ex) int 0101
      • ex) char 0101 (int 0101 ↔ char 0101 이 다르다)

    소수점 표현

    • 고정 fixed 소수점: 소수점 몇자리 까지 표현 ex) 8.99 (둘째자리까지 표현)
    • 부동 float 소수점: 소수점의 자릿수가 고정되지 않은 것 8.999999(소수점 자릿수가 자유로움)

    컴파일러, 인터프리터의 역할

    • 프로그래밍 언어 → 기계어로 번역해주는 역할

    변수

    • 인스턴스 변수(Non-Static Fields): 인스턴스 내에 존재하는 변수
    • 클래스 변수(Static Fields)
      • 변수의 앞에 static 을 붙여서 선언
      • new를 사용하지 않고도 접근(사용)할 수 있는 변수
    • 지역 변수(Local Fields)
      • 메소드 내에 선언된 변수
      • 메소드 밖에서는 사용 불가능
    • 매개변수(Parameters): 전달 목적으로 사용하는 변수

    변수 작성 규칙

    • 첫 문자는 영어 소문자로 시작, 다른 단어가 붙을 경우 첫 문자를 대문자로 작성 ex) carName

    하나의 파일에 하나의 클래스 사용?

    • .java 파일 하나에, 하나의 class만 사용하는건 아니지만, 하나의 .java 파일엔 하나의 클래스 사용을 권장함.

    static 에 대해

    메소드

    • static *** (static을 붙임으로써) 클래스이름.***(method) 라는 문장을 입력하면 → new를 사용할 필요 없이, 바로 사용할 수 있다.
    • 인스턴스 변수를 건드리지 않고, 평범한 연산이라면 static을 사용할 수 있다.
    • 클래스에 인스턴스 변수가 있을 경우 static 메소드를 사용하지 않는다.

    변수

    • static 인스턴스 변수명 (static을 붙임으로써) 클래스이름.인스턴스변수명 라는 문장을 입력하면 → new를 사용할 필요 없이, 변수에 바로 접근할 수 있다

    public static void main(String[] args)각 부분별 의미

    • main메소드에서 static을 사용하는 이유?
    • → main메소드는 new를 통해 객체를 생성하지 않아도 자동으로 실행되어 작업을 수행해야 하기 때문에 static으로 선언해야만 한다.
    • main 메서드에서 public을 사용하는 이유?
    • → Main을 실행하는데 있어, Main에서는 다른 클래스의 메소드 등을 호출해야하는데, 막상 Main 자체가 다른 곳에서 접근을 허용하지 않는다면 문제가 생길 수 밖에 없어 Main의 접근제한자를 public으로 선언한 것이다.
    • String args[] 사용하는 이유?
      • (String args[]) 는 매개변수로 문자열 배열을 줄 수 있다는 것을 의미합니다. 이는 자바를 커맨드라인에서 실행할 때 매개변수를 지원해주기 위해 기본으로 사용해주는 것

    Carriage Return & Line Feed

    • 캐리지 리턴(CR): "현재 커서의 위치를 맨 앞으로 이동" 라는 의미
    • 라인 피드(LF): "커서의 위치를 아랫줄로 이동" 라는 의미
    • 즉, 엔터, println == 캐리지 리턴 + 라인 피드

    식별자란? (Identifier)

    • 클래스, 인터페이스,변수,메소드, 배열,문자열을 구분할수 있는 이름 (내가 설정하는 아무 이름 ex) car, carName, walterO ...)

    Java 단축키

    • Ctrl + D : 한 줄 지우기
    • Ctrl + F11 : 코드 실행(Run)
    • Shift + Ctrl + F : 코드 자동정렬
    • Shift + Ctrl + O : 필요한 라이브러리 전체 import
    • Shift + Ctrl + C : 선택한 줄 주석처리
    • Alt + 위,아래 방향키 : 선택한 줄 위치 옮기기
    • Ctrl + Shift + R : 파일 찾기 (*파일명 : 관련된 모든파일 검색)
    • Ctrl + M : 화면 최대화
    • Ctrl + Alt + 위,아래 방향키 : 빠른 복사 붙여넣기
    • 설정
      • 오른쪽마우스 - Source - Generate Getter and Setter : getter, setter 자동생성
    • 자동완성
      • main + Ctrl + Space : public static void main(String[] args) 자동완성
      • SYSO + Ctrl + Space : System.out.println() 자동완성
    • 주석
      • 한 줄 : //
      • 여러 줄 : /* */

    댓글

Designed by Tistory.