language/java 6

[자바프로그래밍] 06. 클래스와 객체

자바는 철저한 객체 지향 언어다. C가 함수 중심으로 절차를 짠다면, 자바는 객체들이 서로 메시지를 주고받으며 프로그램을 구성한다. 오늘은 객체 지향의 핵심인 클래스·객체·생성자·this·static을 정리했다.1. 객체 지향과 클래스·객체세상 모든 것은 고유한 속성(데이터)과 동작(기능)을 가진 객체로 볼 수 있다. 객체 지향은 이를 그대로 코드로 옮겨, 소프트웨어의 재사용성과 현실 모델링을 쉽게 한다. 그 4대 특성이 캡슐화·상속·다형성·추상화다.클래스와 객체클래스(Class): 객체의 설계도. 속성은 필드, 동작은 메서드로 정의한다.객체(Object/Instance): 클래스를 new로 메모리에 구현한 실체. 한 클래스로 여러 객체를 만들 수 있다.public class Circle { int..

language/java 2026.08.21

[자바프로그래밍] 05. 배열과 예외처리

오늘은 두 주제를 다뤘다. 여러 값을 묶는 배열과, 실행 중 발생하는 오류에 대응하는 예외 처리다.자바의 배열은 C와 달리 "객체"라는 점에서 차이가 있고, 예외 처리는 자바가 안정성을 위해 강조하는 기능이다.1. 배열자바 배열의 특징같은 타입의 데이터가 순차 저장된 자료구조로, 인덱스는 0부터 length-1까지다. 자바 배열은 객체이며, 자기 크기를 length라는 속성으로 알고 있다(C 배열이 자기 길이를 모르는 것과 다름).int[] data = new int[5]; // 선언 + 생성 (크기 5)int[] data = {1, 2, 3}; // 선언 + 초기화System.out.println(data.length); // 배열 크기를 length로 안다C와 다른 두 가지가 눈..

language/java 2026.08.14

[자바프로그래밍] 04. 반복문

반복문은 같은 작업을 여러 번 수행하게 한다. 자바의 for·while·do~while은 C와 거의 같지만, 자바에는 라벨(label)을 이용한 분기라는 독특한 기능이 더 있다.1. 세 가지 반복문// for: 횟수가 정해진 반복int sum = 0;for (int i = 1; i for의 초기식에서 선언한 변수(int i)는 그 반복문 안에서만 유효하다는 점이 C와 다른 깔끔한 부분이다. 반복이 끝나면 변수도 사라지니, 같은 이름을 다른 반복에서 다시 써도 충돌이 없어 편했다.조건으로 끝나는 반복은 입력을 조건식 안에 넣는 패턴을 자주 쓴다.// 0이 입력될 때까지 합산while ((n = scan.nextInt()) != 0) { sum += n; count++;}2. 분기문: break,..

language/java 2026.08.11

[자바프로그래밍] 03. 조건문 (if·switch)

조건에 따라 실행 흐름을 나누는 조건문은 자바에서도 if와 switch 두 가지다. 기본 문법은 C와 거의 같지만, 자바의 switch는 문자열 비교가 된다는 결정적 차이가 있다.1. if 문// if ~ elseif (score >= 90) System.out.println("합격");else System.out.println("불합격");조건이 참이면 if 블록을, 거짓이면 else 블록을 실행한다. 자바는 boolean만 조건으로 받으므로, if (n)처럼 정수를 바로 조건에 넣을 수 없고 반드시 if (n != 0)처럼 비교식을 써야 한다. C에서 정수를 그대로 조건에 넣던 습관이 자바에선 막혀서, 처음엔 답답했지만 의도가 분명해지는 효과가 있었다.여러 조건을 순서대로 검사할 땐 els..

language/java 2026.07.26

[자바프로그래밍] 02. 변수·자료형·연산자

프로그램의 기본 재료인 변수와 자료형, 그리고 그것들을 다루는 연산자를 자바 기준으로 정리했다. C와 비슷한 부분이 많지만, 자바만의 규칙(기본형 8가지, boolean 엄격함, Scanner 입력 등)이 분명히 있어 그 차이에 집중했다.1. 기본 구조와 식별자자바의 모든 코드는 클래스 안에 들어가고, 실행은 main() 메서드에서 시작한다.public class Hello { public static void main(String[] args) { int i = 20; System.out.println("Hello"); System.out.println(i); // 20 }} 이름(식별자)을 짓는 규칙은 C와 비슷하다. 문자·숫자·_·$를 쓰되 숫자로..

language/java 2026.07.13

[자바프로그래밍] 01. 자바 특징과 역사

자바는 "한 번 작성하면 어디서든 돌아가는" 언어로 유명하다. 이 한마디에 자바를 이해하는 거의 모든 것이 담겨 있다. 이 글에서는 자바가 왜 그렇게 설계됐는지, 그 핵심인 JVM과 바이트코드가 무엇인지, 그리고 자바를 특징짓는 성질들을 정리한다.1. 자바의 탄생 배경자바의 역사1991년 썬 마이크로시스템즈의 제임스 고슬링이 주도한 Green Project에서 시작됐고(초기 이름 OAK), 1995년 Java로 발표되어 인터넷 시대와 함께 대중화됐다. 2009년 오라클이 썬을 인수해 지금에 이른다.자바가 풀려던 핵심 문제는 플랫폼 호환성이었다. 기존 언어는 OS나 하드웨어가 다르면 소스를 다시 컴파일하거나 고쳐야 했다. 윈도우용으로 짠 프로그램이 맥에서 안 도는 것이다.2. 플랫폼 독립성: WORA와 J..

language/java 2026.07.01