java

java

Java 생성자(Constructor) 정리

객체를 만들고 나면 곧바로 초기값을 넣어야 하는 경우가 많다. 그런데 매번 메서드를 호출하거나 직접 필드를 채우는 방식은 번거롭고, 실수할 여지가 있다. 이 문제를 해결하는 것이 바로 생성자(Constructor)이다. 생성자가 필요한 이유MemberInit member1 = new MemberInit(); member1.name = "user1"; member1.age = 15; member1.grade = 90; MemberInit member2 = new MemberInit(); member2.name = "user2"; member2.age = 16; member2.grade = 80;기존의 문제점 ①: 객체 생성 직후에 필드를 일일이 채워야 한다. → 중복 코드가 발생한다.기존의 문제점 ②:..

java

Java 객체 지향 프로그래밍(OOP) 정리

프로그래밍에는 크게 절차 지향(Procedural)과 객체 지향(Object-Oriented) 두 가지 방식이 있다.자바는 태생부터 객체 지향 언어이며, 실무 대부분의 프로젝트는 객체 지향적인 사고와 설계 위에서 돌아간다.이번 글에서는 절차 지향과 객체 지향의 차이를 비교하고, 실제 예제를 통해 객체 지향 프로그래밍을 이해해보겠다. 절차 지향 vs 객체 지향절차 지향 (Procedural)실행 순서를 중심으로 프로그래밍한다. (어떻게에 초점)데이터와 기능이 분리된다.예: C 언어 스타일객체 지향 (OOP)객체 자체를 중심으로 프로그래밍한다. (무엇을에 초점)데이터(속성)와 기능(메서드)을 하나의 단위(객체)에 묶는다.예: Java, C++, C#절차 지향에서는 데이터와 행동이 따로 존재하지만,객체 지..

java

Java 기본형(Primitive) vs 참조형(Reference) 정리

자바에서 변수를 다룰 때 가장 먼저 이해해야 하는 개념이 기본형과 참조형의 차이이다. 이 구분은 단순히 문법을 넘어서, 메모리 구조, 메서드 호출 방식, NullPointerException 같은 핵심 동작 원리와 직결된다. 기본형 vs 참조형기본형 (Primitive Type)int, long, double, boolean 등값 자체를 저장한다.산술 연산이 가능하다.null 할당이 불가능하다.참조형 (Reference Type)클래스, 배열, 인터페이스, String 등참조값(주소)을 저장한다.실제 객체는 힙(Heap)에 존재하고, 변수에는 주소만 존재한다.null 할당이 가능하다.int a = 10; // 기본형 → 값 10 저장 Student s = new Student(); // 참조형 → S..

java

Java 클래스와 데이터 정리

자바 세계는 클래스(Class)와 객체(Object)로 이루어져 있다. 클래스는 단순히 문법이 아니라, 프로그램을 구조화하고 유지보수하기 위한 핵심 개념이다. 이번 글에서는 변수와 배열만으로는 해결할 수 없는 문제를 클래스가 어떻게 해결하는지 살펴보고, 객체·인스턴스의 개념까지 정리해보겠다. 클래스가 필요한 이유문제: 학생 정보 관리String student1Name = "학생1"; int student1Age = 15; int student1Grade = 90; String student2Name = "학생2"; int student2Age = 16; int student2Grade = 80;학생이 늘어날수록 변수도 기하급수적으로 늘어난다. → 유지보수를 한다고 생각하면 끔찍하다. 배열의 도입과..

java

Java 메서드(Method) 정리

프로그래밍에서 중복된 코드를 계속 작성하는 것은 유지보수 악몽으로 이어진다. 이 문제를 해결하는 핵심 도구가 바로 메서드(Method)이다. 자바에서 메서드는 특정 기능을 수행하는 코드 블록이며, 재사용성·가독성·유지보수성을 크게 높여준다. 메서드란?수학의 함수(Function)와 유사한 개념이다.입력(매개변수, parameter)을 받아 처리 후 출력(반환값, return)을 제공한다.코드 중복 제거 + 기능 단위 분리 → 프로그램 구조 개선public static int add(int a, int b) { int sum = a + b; return sum; }add(3, 5)으로 호출 시 → 8 반환같은 메서드를 여러 번 호출해 재사용할 수 있다. 메서드 선언과 구조제어자 반환타입 메서드..

java

Java 배열(Array) 정리

프로그래밍에서 가장 자주 부딪히는 문제 중 하나는 데이터의 집합을 어떻게 다룰 것인가이다. 변수를 일일이 선언하면 불필요한 중복이 생기고 유지보수도 어렵다. 이 문제를 해결하는 것이 바로 배열(Array)이다. 배열이 필요한 이유int student1 = 90; int student2 = 80; int student3 = 70; int student4 = 60; int student5 = 50;학생이 늘어나면 변수를 무한정 늘려야 하고, 출력도 반복문을 사용할 수 없다.동일한 타입의 데이터를 묶어 효율적으로 관리하기 위해 배열이 필요하다. 배열 선언과 생성int[] students; // 배열 변수 선언 students = new int[5]; // 배열 생성int[] students → 배열 변..

java

Java 스코프(Scope)와 형변환(Type Casting) 정리

자바 프로그래밍에서 변수가 어디까지 살아남을 수 있는지(스코프), 그리고 데이터 타입이 다를 때 어떻게 변환되는지(형변환)는 반드시 이해해야 할 핵심 개념이다. 잘못 사용하면 메모리 낭비, 버그, 데이터 손실로 이어지기 때문이다. 스코프(Scope)지역 변수와 스코프지역 변수(Local Variable): 특정 코드 블록({}) 안에서만 존재한다.블록을 벗어나면 메모리에서 제거된다. → 더 이상 사용할 수 없다.public class Scope1 { public static void main(String[] args) { int m = 10; // main 블록에서 생존 if (true) { int x = 20; // if 블록에서만 생존 ..

java

Java 반복문(Loop) 정리

프로그램은 단순히 순차적으로 실행되는 것만으로는 부족하다. 반복적인 작업을 효율적으로 처리해야 하고, 이때 필요한 것이 바로 반복문이다. 자바는 while, do-while, for 3가지 반복문을 제공한다. 반복문의 필요성int count = 0; count++; System.out.println(count); count++; System.out.println(count); count++; System.out.println(count);위 코드는 같은 코드가 계속 반복되고 있다.만약 100번 실행해야 한다면 코드 작성이 매우 번거로울 거다.이럴 때 반복문을 사용하면 된다. while문조건이 참(true)인 동안 코드 블록을 반복 실행한다.int count = 0; while (count 실행 결..

tmddk
'java' 카테고리의 글 목록 (2 Page)