안녕하세요!
IT의 모든 것 A to Z 모두 다 알려드리는 IT하입보이 입니다.
얼마든지 편하게 물어보셔도 됩니다!
1. 분산 네트워크 환경에 적용이 가능!
-> 네트워크로 연결된 여러 컴퓨터에서 함께 작업하는 환경에서도 잘 동작한다는 뜻
예시로 보면,
- 온라인 게임 서버가 여러 컴퓨터에 나뉘어 있음
- 회사 내부 시스템이 서버 + 여러 PC에서 돌아감
-> 이런 여러 장치가 연결된 구조(분산 환경) 에서 Java는 안정적으로 프로그램을 실행할 수 있다는 뜻
즉, 한 컴퓨터에서만 쓰는 언어가 아니라, 여러 컴퓨터가 협력하는 시스템에서도 강하다.
2. 운영체제 및 하드웨어에 독립적이며 이식성이 강하다!
Windows, Mac, Linux 같은 운영체제 종류가 달라도 동일한 Java 프로그램이 그대로 실행될 수 있다는 의미
예시:
- C언어: 윈도우용으로 만들면, 맥에서 실행하려면 다시 수정/컴파일해야 함
- Java: 한 번 만들면, 윈도우/맥/리눅스 어디서든 실행됨
정리하면, Java 프로그램은 한 번 만들면 여러 환경에서 그대로 옮겨서 사용 가능
3. 바이트 코드 생성으로 플랫폼에 관계없이 독립적으로 동작 가능!
여기서 핵심은 바이트 코드 + JVM 이라는 구조입니다.
흐름을 단계로 보면:
1. 자바 코드를 작성합니다 -> Hello.java
2. 컴파일하면 바이트코드(.class) 로 변환됩니다.
3. 이 바이트코드를 JVM(Java Virtual Machine) 이 실행합니다
즉, 프로그램을 운영체제가 직접 실행하는 게 아니라
JVM이라는 가상 기계가 대신 실행하는 방식.
그래서, 윈도우는 윈도우용 JVM, 맥은 맥용 JVM, 리눅스는 리눅스용 JVM만 있으면,
같은 바이트코드(.class) 가 어디서든 똑같이 돌아갑니다.
정리하면, 바이트코드 + JVM 구조 덕분에, Java는 플랫폼(운영체제)에 상관없이 실행된다.
질문자님께 제 글이 도움이 되었기를 바랍니다!
도움 되셨다면, "채택" 부탁드릴게요~!
추가로 더 궁금하신 사항이 있다면
"IT하입보이" 프로필 확인하시고 문의 남겨주시면
자세한 안내 도와드리겠습니다.