김영한의 실전 자바 - 기본편 강의 내용을 정리한 글이다.1. 패키지 - 시작쇼핑몰 시스템을 개발한다고 가정해보자. 프로그램이 매우 작고 단순해서 클래스가 몇 개 없다면 크게 고민할 거리가 없다. 하지만 기능이 점점 추가되어서 프로그램이 아주 커지게 된다면 어떻게 될까?아주 작은 프로그램OrderUserProduct큰 프로그램UserUserManagerUserHistoryProductProductCatalogProductImageOrderOrderServiceOrderHistoryShoppingCartCartItemPaymentPaymentHistoryShipmentShipmentTracker매우 많은 클래스가 등장하면서 관련 있는 기능들을 분류해서 관리하고 싶어진다. 컴퓨터는 보통 파일을 분류하기 위해..
김영한의 실전 자바 - 기본편 강의 내용을 정리한 글이다.1. 생성자 - 필요한 이유객체를 생성하는 시점에 어떤 작업을 하고 싶다면 생성자(Constructor)를 이용하면 된다. 생성자를 알아보기 전에 먼저 생성자가 왜 필요한지 코드로 간단히 알아본다.MemberInitpackage construct;public class MemberInit { String name; int age; int grade;}MethodInitMain1package construct;public class MethodInitMain1 { public static void main(String[] args) { MemberInit member1 = new MemberInit(); ..
김영한의 실전 자바 - 기본편 강의 내용을 정리한 글이다.1. 절차 지향 프로그래밍 vs 객체 지향 프로그래밍프로그래밍 방식은 크게 절차 지향 프로그래밍과 객체 지향 프로그래밍으로 나눌 수 있다.절차 지향 프로그래밍 절차 지향 프로그래밍은 이름 그대로 절차를 지향한다. 쉽게 말하면 실행 순서를 중요하게 생각하는 방식이다. 프로그램의 흐름을 순차적으로 따르며 처리하는 방식이다. 즉, "어떻게"를 중심으로 프로그래밍한다.객체 지향 프로그래밍 객체 지향 프로그래밍은 이름 그대로 객체를 지향한다. 쉽게 말하면 객체를 중요하게 생각하는 방식이다. 실제 세계의 사물이나 사건을 객체로 보고, 이러한 객체들 간의 상호작용을 중심으로 프로그래밍하는 방식이다. 즉, "무엇을" 중심으로 프로그래밍한다.둘의 중요한 차..
김영한의 실전 자바 - 기본편 강의 내용을 정리한 글이다.1. 기본형 vs 참조형 — 시작자바에서 참조형을 제대로 이해하는 것은 정말 중요하다. 변수의 데이터 타입을 가장 크게 보면 기본형과 참조형으로 분류할 수 있다. 기본형(Primitive Type): int, long, double, boolean처럼 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입이다. 참조형(Reference Type): Student student1, int[] students와 같이 데이터에 접근하기 위한 참조(주소)를 저장하는 데이터 타입이다. 참조형은 객체 또는 배열에 사용된다.쉽게 말해서 기본형 변수에는 직접 사용할 수 있는 값이 들어있지만, 참조형 변수에는 위치(참조값)가 들어가 있다. 참조형 변수를 통해서 뭔..
김영한의 실전 자바 - 기본편 강의 내용을 정리한 글이다.1. 클래스가 필요한 이유자바에서 클래스는 서로 관련된 데이터를 하나의 단위로 묶기 위해 존재한다. 이 필요성을 체감하려면 클래스 없이 데이터를 관리했을 때 어떤 문제가 생기는지 직접 확인해보는 것이 좋다.문제: 학생 정보를 변수로 관리하기두 명의 학생(이름, 나이, 성적)을 출력하는 프로그램을 변수만 써서 작성하면 다음과 같다.String student1Name = "학생1";int student1Age = 15;int student1Grade = 90;String student2Name = "학생2";int student2Age = 16;int student2Grade = 80;System.out.println("이름: " + student1N..
김영한의 자바 입문 강의 내용을 정리한 글이다.1. 메서드가 필요한 이유같은 연산을 여러 번 반복해야 하는 상황을 생각해 보자.// 계산1int a = 1;int b = 2;System.out.println(a + "+" + b + " 연산 수행");int sum1 = a + b;System.out.println("결과1 출력: " + sum1);// 계산2int x = 10;int y = 20;System.out.println(x + "+" + y + " 연산 수행");int sum2 = x + y;System.out.println("결과2 출력: " + sum2);계산1과 계산2의 구조가 완전히 동일하다. 변수 이름과 값만 다를 뿐이다. 이 연산을 100곳에서 써야 한다면 100번 반복해야 하고, 출..