Java(자바)란 무엇일까? – 비전공자의 관점으로 바라보기
Java는 1995년에 Sun Microsystems(현재 Oracle)에 의해 개발된 객체지향 프로그래밍 언어입니다.

- 특징 1: Write Once, Run Anywhere
- 한 번 작성하면 어떤 운영체제에서도 실행 가능
- JVM(Java Virtual Machine)을 통해 플랫폼 독립성 제공
- 특징 2: 객체지향 기반
- 코드 재사용성, 유지보수 용이
- 클래스와 객체 개념이 핵심
- 특징 3: 안정성과 신뢰성
- 메모리 자동 관리(Garbage Collection)
- 예외 처리 체계가 강력
비전공자가 처음 배우면 객체지향 사고를 자연스럽게 익히고 실무 적용 능력도 함께 키울 수 있습니다.
역사와 발전 과정
- 1991년: James Gosling, Green Project 시작
- 1995년: Java 1.0 출시 → 웹 애플릿, 플랫폼 독립성 강조
- 2004년: Java 5 → Generics, Enum, Metadata
- 현대 Java: Java 17 LTS → 최신 기능과 안정성 제공
지속적인 업그레이드를 통해 기업용 시스템, 웹 서버, 안드로이드 앱 개발에서 필수 언어가 되었습니다.
장점과 활용 분야
1. 장점
- 객체지향 기반
- 상속, 캡슐화, 다형성 개념 학습 가능 // 확장성
- 실무에서 유지보수 용이
- 플랫폼 독립성
- JVM 설치만 되어 있으면 어떤 OS에서도 실행 가능
- 풍부한 라이브러리와 프레임워크
- Spring, Hibernate 등
- 웹, 서버, 모바일, 빅데이터 등 활용 가능
- 강력한 커뮤니티 지원
- 문제 해결, 학습 자료 풍부 // 높은 보안성 및 유지보수성으로 인해 공공기관에서 많이 채택
2. 활용 분야
- 웹 서버 개발 (Spring Framework, 전자정부프레임워크(eGovFramework))
- 모바일 앱(Android)
- 정보처리기사 실기 출제 문제 (객체지향, 자료구조, 알고리즘)
- 빅데이터 분석, 금융 시스템, 게임 서버
정보처리기사 실기
정보처리기사 실기에서 다음과 같은 영역에 자주 출제됩니다.
- 자료형과 변수 선언
- int, double, char, boolean
- 객체형(String, ArrayList 등)
- 제어문
- if, switch, for, while, do-while
- 클래스와 객체
- 객체 생성, 필드와 메서드 정의
- 상속과 다형성 이해 // 상속의 개념은 C언어의 포인터와 맞먹을 정도로 매우 큰 비중을 차지합니다.
- 컬렉션
- 배열, ArrayList, HashMap 활용
- 실기에서 자료 구조 문제 출제
입문 및 비전공자는 실기 문제를 해결하기 위해 기본 문법 + 객체지향 이해가 필수입니다.
기본 구조와 Hello World
public class Main {
public static void main(String[] args) {
System.out.println("Hello, Java!");
}
}
소스코드 설명
public class Main: Main이라는 클래스 정의public static void main(String[] args): 프로그램 시작 지점 // 이하 메인 메소드System.out.println(): 화면 출력 // C언어의 printf(); 와 같음- 세미콜론(
;)으로 문장 종료
처음에는 작은 코드부터 작성 → 실행 → 결과 확인 반복 → 이해도 상승
변수와 자료형
int age = 25;
double height = 175.5;
char grade = 'A';
boolean isStudent = true;
String name = "제로";
- 정적 타입 언어
- 자료형 선언 시 반드시 타입 명시 필요
- String과 기본 자료형(char, int, double, boolean) 구분 중요
제어문과 반복문
if 조건문
int score = 85;
if(score >= 90){
System.out.println("A");
} else if(score >= 80){
System.out.println("B");
} else {
System.out.println("C");
}
for 반복문
for(int i = 0; i < 5; i++){
System.out.println(i);
}
while 반복문
int i = 0;
while(i < 5){
System.out.println(i);
i++;
}
정보처리기사 실기 문제에서는 조건문과 반복문 이해 → 필수
클래스와 객체
public class Student {
String name;
int age;
public void introduce() {
System.out.println("저는 " + name + "이고, 나이는 " + age + "입니다.");
}
}
public class Main {
public static void main(String[] args) {
Student s = new Student();
s.name = "제로";
s.age = 25;
s.introduce();
}
}
- 객체 생성, 필드 접근, 메서드 호출 // 대표적인 특징
- 객체지향 개념 → 정보처리기사 실기 및 실제 실무 모두 중요
컬렉션과 배열
배열
int[] arr = {1,2,3,4,5};
for(int i=0; i<arr.length; i++){
System.out.println(arr[i]);
}
ArrayList
import java.util.ArrayList;
ArrayList<String> list = new ArrayList<>();
list.add("Java");
list.add("C");
list.add("Python");
for(String lang : list){
System.out.println(lang);
}
배열과 컬렉션 이해 → 정보처리기사 실기 문제에서 빈번하게 등장
실무 연계 팁
- 작은 프로젝트부터 시작
- 간단한 계산기, 학생 관리 프로그램
- IDE 활용
- Eclipse, IntelliJ
- 프로젝트 생성, 코드 작성, 실행
- 단계별 학습
- 변수 → 제어문 → 함수/메서드 → 클래스 → 컬렉션 → 상속/다형성 // 자바의 확장성과 핵심은 상속에 있습니다.
- 정보처리기사 실기 대비
- 조건문, 반복문, 배열, 클래스 활용 문제 반복 연습
예제 문제
예제 1: 점수 합계 계산
int[] scores = {80, 90, 85, 70, 95};
int sum = 0;
for(int s : scores){
sum += s;
}
System.out.println("합계: " + sum);
예제 2: 객체 배열 활용
Student[] students = new Student[2];
students[0] = new Student();
students[0].name = "제로";
students[0].age = 25;
students[1] = new Student();
students[1].name = "Alice";
students[1].age = 23;
for(Student s : students){
s.introduce();
}
실기에서는 배열 + 객체 활용 문제가 자주 출제됩니다.
✅ 설치 없이 자바 실습 웹사이트로 해보기
- JDoodle: 온라인 자바 컴파일러로 여러 언어도 지원됩니다. (언어별 코드 작성 → 실행 가능) jdoodle.com+1
- OnlineGDB: 자바 프로그램 작성, 컴파일, 디버깅 기능도 갖춘 환경으로 입문자에게 좋습니다. GDB online Debugger
- Programiz Online Compiler: 인터페이스가 깔끔하고 바로 “Play” 버튼 눌러 실행 가능해서 Java를 실습하기 위한 비전공자에게 특히 추천됩니다. programiz.com
- Replit : 브라우저 하나로 코딩부터 실행, 공유까지 가능해서 학습자들이 활용하기 좋습니다. Replit
- W3Schools Online Java Compiler: 간단한 문법 실습부터 시작하기 적합하며 외국어이긴 하지만 초급엔 충분히 사용 가능합니다. w3schools.com
다음 편 예고
다음 글에서는 [Java] Java 개발환경 구성하기를 다루며,
Java실행 플랫폼인 Eclipse/IntelliJ 설치, 프로젝트 생성, Hello World 실행까지 단계별 안내 예정입니다.
Java 보다 C언어에 관심이 많다면? [C언어] C언어에 대해 알아보자.(C언어 시리즈 1편)