자바시작하기
오늘부터 인공지능 개발자 교육과정이 시작되었다.
첫 수업이라서 전반적인 수업 내용 소개와 주의사항 등을 소개했다.
1.태도
1.1 이 시대가 원하는 인재상
-
- 러닝 커브가 뛰어난 사람
- 신기술이 계속해서 나오고 있는 이 시점에서, 모든 기술을 정복하는 것은 욕심이다. 새로운 기술이라도 빠르게 습득할 수 있는 능력을 기르는 것이 중요하다.
-
- 협업/소통 능력이 뛰어난 사람
- 인간은 사회적 동물로 혼자서 모든 것을 할 순 없다.
-
- 인문학적/공학적 소양을 지닌 사람
- 여러 분야와 it분야를 접목할 수 있는 능력은 굉장한 메리트가 된다.
이외에도 수업에서 필요한 태도 : 지각 X, 긍정적 마인드, 기본 매너 등등
2. 자바
2.1 자바 개발환경 구축하기
프로그래밍 언어 자바를 배우기 앞서 자바 개발환경을 구축해줘야 한다.
- jdk( javaSE )란?
자바는 우선 컴파일 언어이자 인터프리터 언어이다.
- 컴파일 언어 : 전체코드를 한번에 번역.
ex)자바 컴파일러가 코드를 자바 가상 머신(JVM)이 실행할 수 있는 자바 바이트 코드로 번역. abcd.java –(명령어 : javac abcd.java)–> abcd.class - 인터프리터 언어 : 한 줄 단위로 번역.
ex)자바 인터프리터가 컴파일된 자바 바이트 코드를 한 줄 단위로 2진 코드로 번역해 실행한다. abcd.class –(명령어 : java abcd)–> abcd
jdk는 위 기능을 할 수 있는 컴파일러와 인터프리터를 가지고 있어 자바 언어로 작성된 코드를 실행 가능케 해준다.
이후 모든 디렉토리에 있는 자바 소스코드에 이런 컴파일러와 인터프리터가 동작할 수 있도록 path를 등록해주면 효율적인 코드 작성이 가능해진다.
- 컴파일 언어 : 전체코드를 한번에 번역.
2.2 eclipse
- eclipse란?
통합 개발 환경(IDE)로 자바로 소스코드 작성을 하기 위해 다운로드했다.
소스코드를 저장하면 자동으로 컴파일된다.
2.3 소스코드 작성
나는 파이썬을 통해 프로그래밍에 입문해서 파이썬의 작성 방식에 익숙해있다. 그래서 조금 어색했던 부분들을 적어본다.
- 줄이 끝날 때마다 ‘ ; ‘(세미콜론) 찍기
- 파이썬은 함수를 클래스 안에 작성하면 메소드라고 부르고 클래스 밖에 작성하면 함수라고 하지만, 자바는 함수를 무조건 클래스 안에 작성할 수 밖에 없어 메소드라고만 부른다.
- 변수 선언
파이썬은 아무렇게나 이름만 짓고 변수값을 초기화시켜주었는데,
자바는 변수를 선언하기 전에 데이터타입을 명시해 선언한다.
ex)파이썬 : name=”신동혁”
자바 : String name=”신동혁”
2.4 변수
- 타입에 따라 2가지로 분류된다.
- 기본타입(내장타입) : 정수/실수/논리/문자
ex) (소문자로 씌여있다) int, float, char 등등 - 참조타입(class타입, 객체타입) : 제공받은 class기반 혹은 사용자 정의 타입
ex) String 등등
- 기본타입(내장타입) : 정수/실수/논리/문자
-
선언 / 초기화
선언 : 변수 만들기만
초기화 : 변수에 선언과 값 부여까지 - 선언 위치에 따라 2가지로 분류된다.
- 멤버 변수 : 클래스 안, 메소드 밖 변수
객체 생성 시 객체별로 생성됨 - 로컬 변수 : 메소드 내부 변수
객체 생성과 무관. 메소드 호출 시 생성 및 메소드 종료 시 소멸됨
- 멤버 변수 : 클래스 안, 메소드 밖 변수
2.5 객체 지향
사용자가 많은 대규모 프로그램을 위한 방법이라고 생각하면된다.
- class라는 개념을 만들고 마치 도장 찍듯이 class로 객체를 찍어낸다.
- class에 있는 메서드를 이용해 각 개체를 따로 관리해준다.
객체 생성 문법
- new 생성자( )
- 객체를 관리하는 참조변수 필수 –> 타입 참조변수 = new 생성자( )
3. 궁금했던점
컴파일러를 통해 저장을 하면 코드가 자동 컴파일 된다고 하였는데, 파일 확장자명은 java그대로이고 class로 바뀌지 않았다. 왜 그런가?
알아낸답 :
확장자가 java인 파일이 확장자가 class인 파일로 바뀌는 것이 아니라 확장자가 class인 파일이 추가되는 형식이었음. 이 class확장자 파일은 workspace로 지정해둔 폴더에 src가 아닌 bin폴더에 생성된다.