-
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 이 뭐지? → 아직 안알려주셨다. 일단 외부 라이브러리라고 생각하자)
- 정규표현식
- 드림코딩엘리 강좌: t.ly/pqAJ
- 정규표현식 Github: https://github.com/dream-ellie/regex
- 실습 사이트: regexr.com/5mhou
- 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() 자동완성
- 주석
- 한 줄 : //
- 여러 줄 : /* */
'프로그래밍 > Java' 카테고리의 다른 글
[JAVA]_7일차_05.05 (0) 2021.05.05 [JAVA]_6일차_05.04 (0) 2021.05.05 [이것이 자바다] 4장 확인문제 (0) 2021.04.29 "Java의 정석" - "이것이 자바다" 목차 (0) 2021.04.28 21.04.27 / 혁신성장_인공지능 개발자 과정_1일차 (0) 2021.04.27