일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 배열
- 컴퓨터과학개론
- 제이쉘
- JShell
- 메소드
- 프로그래밍기초
- 자바프로그래밍
- github
- 자바
- 초보코딩
- 알고리즘
- Java
- 스프링
- spring
- 클래스
- 프로그래밍언어
- 스프링 기초
- 리눅스
- JAVA기초
- eclips
- 자바기초
- 이클립스
- 초보코딩탈출
- 기초코딩
- Elk
- 자바 스프링
- 프로그래밍
- Git
- 데이터베이스
- 코딩초보
- Today
- Total
키보드워리어
【JAVA】자바 플랫폼 소개 및 클래스를 만들어보기 본문
안녕하세요 【키보드 워리어】
⌨🗡🧑
블로그 방문자 여러분, 안경닦이입니다.
오늘은 자바 플랫폼에 대해 소개하고, 클래스를 만들어보면서
앞으로 배울 내용들을 정리해보겠습니다~!
플랫폼이 독립적이다
앞으로 작성하는 대부분의 코드는 Jshll로 실행이 아닌 자바 코드로 컴파일하고 실행해볼게요
이 글을 보시기 전에 제가 작성했던 Jshell글을 보시면서 따라오시면 더 이해가 잘되실 거에요
JAVA는
플랫폼이 독립적이에요 이게 뭘 의미할까요?
컴퓨터의 기본 명령은 어셈블리 언어에요
컴퓨터는 0과 1을 알아듣죠
자바나 파이썬 등 어떤 프로그래밍 언어를 사용하려 해도
출력은 운영체제를 위해 기본 명령으로 바뀝니다
플랫폼 독립적이라는 것은 내가 프로그래밍한 자바 코드가
다른 운영체제들에서 모두 작동하길 원하는 걸 의미합니다
※하지만 모든 운영체제마다 명령이 다르잖아요!
자바는 이 문제를 어떻게 헤쳐나갔을까요?
byte code
자바는 byte code라고 하는 중간 표현을 가지고 왔어요
0과 1 위에 모든 운영체제에서 잘 쓰는 표현을 만들어 두는데 이를
bytecode라고 해요
바이트 코드는 운영체제와 관계없이 공통적인 포맷을 취하기 때문에
자바는 코드만 byte code로 바꿔주기만 하면 됐죠
※하지만 운영체제들은 자바가 만든 바이트 코드를 이해하지 못해요
바이트코드들을 어떻게 운영체제에 맞는 명령어로 바꾸었을까?
JVM의 등장
JVM은
Java Virtual Machine의 약자입니다.
JVM이 할 수 있는 건 바이트 코드를 가져다가
특정한 운영 체제가 명령을 실행할 수 있도록 바꾸는 겁니다
※윈도우/ 유닉스/ 리눅스/ Mac 모두 제각각 운영체제 JVM을 가지고 있어요
모든 운영체제에서 운영 가능하단 뜻이죠
※정리
자바가 플랫폼 독립성 문제를 해결한 방법?
- byte code 개념 개발
- 각 운영체제를 위한 명령으로 바꿔주는 JVM 개발
그래서 우리가 자바를 통해 처음으로 할 것은 컴파일해보기에요
이 행위는 우리에게 bytecode를 얻게 해주죠
그리고 그 프로그램을 bytecode로 실행하는걸 RUN이라고 합니다
우리가 지금까지 배운 자바 코드들을 jshell 밖에서
실행해보려면 이 컴파일이 필요하게 됩니다
<그림으로 표현해볼게요>
Class
Class는
클래스는 템플릿과 같아요
무슨 말이냐고요?
Country라는 클래스가 있다고 가정해봐요
이 Country 클래스엔 많은 사례들이 있겠죠?
한국, 미국, 네덜란드 등 말이에요.
이걸 Object(객체)라고 합니다
자바에서 클래스를 쓸 때 어떻게 쓰는지 살펴보시죠
클래스 선언 방법
※자바에서 클래스를 사용할 때는 class 이름을 입력하고 메서드, 클래스 괄호를 여닫아요
{Int = I} 처럼 프로토 데이터 유형을 변수로 지정한 거처럼
Country라는 클래스를 유형으로 지정할 수 있게 됩니다
이걸 클래스의 사례들을 만든다고 표현하고
영어로는 instance라고 해요
클래스는 템플릿(견본)이고 오브젝트는 인스턴스(사례화)시킨 거죠
예시를 살펴볼게요
Country Korea = new Country()
country 클래스에 korea 오브젝트를 인스턴스 하는 방법
여기서 korea 클래스가 Country형의 오브젝트가 됩니다
클래스는 Country, korea는 Country형 클래스의 오브젝트가 되도록 인스턴스화 시킴
클래스는 하나의 견본이라서 여러 오브젝트를 만들 수 있어요
보통 클래스는 메소드가 있고
변수, 데이터가 들어가 있습니다
※ 참고 내용
[01] Planet 클래스 만들어보고, 지구, 금성 메소드를 만들어보세요!
[정답]:
Class Planet{
}
Planet earth = new Planet()
Planet venus = new Planet()
※ 정답 화면 (Jshell로 출력)
'JAVA > 입문' 카테고리의 다른 글
【JAVA】구구단표 프로그램에 더 많은 메소드 적용해보자 (0) | 2022.10.10 |
---|---|
【JAVA】이클립스로 구구단표 클래스 만들어보자 (0) | 2022.10.09 |
【JAVA】이클립스 소개 및 기본 실행 (0) | 2022.10.07 |
【JAVA】 자바 클래스를 장난감처럼 이용해보기 (0) | 2022.09.26 |
【JAVA】자바 클래스에 메소드 생성 ~ 파일 실행까지 (0) | 2022.09.25 |