Java 22

[Java] - 변수

변수(Variable)란?프로그래밍을 시작하면서 가장 먼저 배우는 개념 중 하나가 바로 변수(Variable) 이다.변수는 말 그대로 변할 수 있는 값 을 저장하는 공간인데, 조금 더 이해하기 위해 상자에 비유해보겠다. 우리가 일상에서 “사과 3개” 를 기억하려면 머릿속에 숫자 3을 떠올린다.하지만 컴퓨터는 사람이 아니기 때문에, 메모리 공간에 숫자를 저장하고, 그것을 변수명 으로 관리한다.즉, 변수란 데이터를 저장하기 위해 할당 받은 메모리 공간 이고, 그 공간에 붙여진 이름인 변수명 을 통해 데이터를 읽고 수정할 수 있게 된다.변수 선언과 초기화변수 선언변수 선언은 int a 와 같이 선언한다. 위와 같이 선언하게 되면 컴퓨터의 메모리 공간을 확보해숫자 정수를 보관할 수 있는 이름이 a 라는 데이터 ..

CS/Java 2025.09.10

[김영한의 실전 자바 기본편] - 6. 접근 제어자

본 글은 김영한 님의 『김영한의 실전 자바 - 기본편』 강의를 학습하며 정리한 내용입니다.강의 자료에 포함된 일부 코드와 이미지를 참고하여 발췌·활용하였습니다.자바 기본기를 제대로 다지고 싶으시다면, 아래 링크에서 강의를 확인해 보세요 『김영한의 실전 자바 - 기본편』 보러 가기본 게시물은 파트너스 활동의 일환으로 작성되었으며, 구매 시 소정의 수수료를 받을 수 있습니다.접근 제어자접근 제어자 종류자바는 4가지 종류의 접근 제어자를 제공한다.private : 모든 외부 호출을 막는다.default(package-private) : 같은 패키지안에서 호출은 허용한다.접근 제어자를 명시하지 않으면 같은 패키지 안에서 호출을 허용하는 default 접근 제어자가 적용된다.protected : 같은 패키지안에서..

[김영한의 실전 자바 기본편] - 5. 패키지

본 글은 김영한 님의 『김영한의 실전 자바 - 기본편』 강의를 학습하며 정리한 내용입니다.강의 자료에 포함된 일부 코드와 이미지를 참고하여 발췌·활용하였습니다.자바 기본기를 제대로 다지고 싶으시다면, 아래 링크에서 강의를 확인해 보세요 『김영한의 실전 자바 - 기본편』 보러 가기본 게시물은 파트너스 활동의 일환으로 작성되었으며, 구매 시 소정의 수수료를 받을 수 있습니다.패키지패키지 등장매우 많은 클래스가 등장하면서 관련 있는 기능들을 분류해서 관리하고 싶을 것이다. 컴퓨터는 보통 파일을 분류하기 위해 폴더, 디렉토리라는 개념을 제공한다. 자바도 이런 개념을 제공하는데, 이것이 패키지이다.사용패키지를 사용하는 경우 항상 코드 첫 줄에 패키지 이름을 적어줘야 한다.특정 패키지에 포함된 모든 클래스를 포함해..

[김영한의 실전 자바 기본편] - 4. 생성자

본 글은 김영한 님의 『김영한의 실전 자바 - 기본편』 강의를 학습하며 정리한 내용입니다.강의 자료에 포함된 일부 코드와 이미지를 참고하여 발췌·활용하였습니다.자바 기본기를 제대로 다지고 싶으시다면, 아래 링크에서 강의를 확인해 보세요『김영한의 실전 자바 - 기본편』 보러 가기본 게시물은 파트너스 활동의 일환으로 작성되었으며, 구매 시 소정의 수수료를 받을 수 있습니다.생성자객체를 생성하는 시점에 어떤 작업을 하고 싶다면 생성자를 이용하면 된다. 생성자를 알아보기 전에 생성자가 왜 필요한지 코드로 간단히 알아보자.MemberInitpublic class MemberInit { String name; int age; int grade;}MethodInitMainpublic class MethodInitMa..

[김영한의 실전 자바 기본편] - 3. 객체 지향 프로그래밍

본 글은 김영한 님의 『김영한의 실전 자바 - 기본편』 강의를 학습하며 정리한 내용입니다.강의 자료에 포함된 일부 코드와 이미지를 참고하여 발췌·활용하였습니다.자바 기본기를 제대로 다지고 싶으시다면, 아래 링크에서 강의를 확인해 보세요 『김영한의 실전 자바 - 기본편』 보러 가기본 게시물은 파트너스 활동의 일환으로 작성되었으며, 구매 시 소정의 수수료를 받을 수 있습니다.절차 지향 프로그래밍 vs 객체 지향 프로그래밍프로그래밍 방식은 크게 절차 지향 프로그래밍과 객체 지향 프로그래밍으로 나눌 수 있다. 두 개념은 서로 대치되는 개념이 아니다. 객체 지향이라도 프로그램의 작동 순서는 중요한다. 다만 어디에 더 초점을 맞추는가에 둘의 차이가 있다.절차 지향 프로그래밍절차 지향 프로그래밍은 이름 그대로 절차를..

[김영한의 실전 자바 기본편] - 2. 기본형과 참조형

본 글에 사용된 코드와 이미지의 일부는김영한 님의 『김영한의 실전 자바 - 기본편』 강의를 참조하여 발췌·활용하였습니다.[본 게시물은 파트너스 활동의 일환으로 소정의 수수료를 받을 수 있습니다.]https://inf.run/5nGCd자바에서 참조형을 제대로 이해하는 것을 정말 중요하다.기본형 vs 참조형 - 특징변수의 데이터 타입을 크게 보면 기본형과 참조형으로 분류할 수 있다.각 특징을 알아보자.기본형int, long, double, boolean 처럼 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입이다.해당 값을 바로 사용할 수 있다.들어있는 값을 그대로 계산에 사용할 수 있다.참조형Student student, int[] students 와 같이 데이터에 접근하기 위한 참조(주소)를 저장하는 데..

[김영한의 실전 자바 기본편] - 1. 클래스와 데이터

본 글에 사용된 코드와 이미지의 일부는김영한 님의 『김영한의 실전 자바 - 기본편』 강의를 참조하여 발췌·활용하였습니다.[본 게시물은 파트너스 활동의 일환으로 소정의 수수료를 받을 수 있습니다.]https://inf.run/5nGCd자바 세상은 클래스와 객체로 이루어져 있는만큼 클래스와 객체라는 개념은 중요하다.클래스와 객체에 대해서 알아보자.클래스클래스와 사용자 정의 타입타입은 데이터의 종류나 형태를 뜻한다. 앞서 배웠듯이 int 는 정수 타입, String 은 문자 타입이다.그렇다면 위에서 작성한 것 처럼 학생(Student) 이라는 타입을 만들면 되지 않을까?클래스를 사용하면 int, String 과 같은 타입을 직접 만들 수 있다.사용자가 직접 정의하는 사용자 정의 타입을 만들려면 설계도가 필요하..

[김영한의 자바 입문] - 8. 메서드

본 글에 사용된 코드와 이미지의 일부는 김영한 님의 『김영한의 자바 입문』 강의를 참조하여 발췌·활용하였습니다.만약 프로그램의 여러 곳에서 같은 계산을 반복해야 한다면? 같은 코드를 여러번 반복해서 작성해야 한다. 더 나아가 어떤 연산을 수행하는지 출력하는 부분을 변경한거나, 제거하고 싶다면 해당 코드를 다 찾아다니면서 모두 수정해야한다. 이런 문제를 어떻게 해결할 수 있을지 알아보자.메서드자바에서는 함수를 Method(메서드) 라 한다. 메서드를 사용하면 앞서 고민한 문제를 해결할 수 있다.코드를 통해 살펴보자.public class Method1Ref { public static void main(String[] args) { int sum1 = add(5, 10); System.out..

[김영한의 자바 입문] - 7. 배열

본 글에 사용된 코드와 이미지의 일부는 김영한 님의 『김영한의 자바 입문』 강의를 참조하여 발췌·활용하였습니다.배열배열은 같은 타입의 변수를 반복해서 선언하고 반복해서 사용하는 문제를 해결하기 위해 등장했다. 즉, 배열은 같은 타입의 변수를 사용하기 편하게 하나로 묶어둔 것이다.배열 변수 선언과 생성int[] students;students = new int[5]배열 변수 선언int[] students;배열을 사용하려면 위와 같이 배열 변수를 선언해야 한다.일반적인 변수와 차이점은 [ ] 대괄호가 들어간다는 점이다.배열 변수를 선언한다고 해서 아직 사용할 수 있는 배열이 만들어진 것은 아니다.배열 생성students = new int[5]배열을 사용하려면 배열을 생성해야 한다.new int[5] 라고 입..

[김영한의 자바 입문] - 6. 입력

본 글에 사용된 코드와 이미지의 일부는 김영한 님의 『김영한의 자바 입문』 강의를 참조하여 발췌·활용하였습니다.지금까지 하드코딩된 입력으로만 학습했는데, 사용자의 입력을 받는 방법을 배워보자.ScannerSystem.out 을 통해서 출력을 했듯, System.in 을 통해서 사용자의 입력을 받을 수 있다. 자바는 사용자가 입력할 수 있게 Scanner 라는 클래스를 제공한다.public class Scanner1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("문자열을 입력하세요:"); String str = scanner.nextLine(); // 입력을 S..