자바(JAVA) 70

Java 기초 또 다시 공부하기 10일차 - 객체 지향 프로그래밍(인스턴스 멤버와 정적 멤버, 패키지와 접근 제한자)

이전 공부글2025.06.04 - [자바(JAVA)/미니 프로젝트 & 기초 공부] - Java 기초 또 다시 공부하기 8일차 - 객체 지향 프로그래밍(객체의 특징, 객체 간의 관계, 클래스와 인스턴스 속성과 동작[필드(Field)와 메서드(Method)]으로 구성되어 있음현실 " data-og-host="keep-programming-study.tistory.com" data-og-source-url="https://keep-programming-study.tistory.com/151" data-og-url="https://keep-programming-study.tistory.com/151" data-og-image="https://scrap.kakaocdn.net/dn/bHiZdH/hyY46fN4JW..

Java 기초 또 다시 공부하기 9일차 - 객체 지향 프로그래밍(필드, 생성자, 메서드)

1. 필드(Field)1) 필드의 개념 및 선언개념: 객체의 고유 데이터, 객체가 가져야 할 부품, 객체의 현재 상태 저장선언: 클래스 중관호 {} 블록 내부에 "타입 필드명( = 초기값);"과 같은 형식으로 선언-> 초기값 설정은 생략 가능 String company = "당근";String product = "플랫폼";int num = 10;int companyYear;초기값을 지정하지 않았을 경우 필드 타입별 기본 초기값 타입 분류타입초기값정수 타입byte 0char\u0000(빈 공백)short0int0long0L실수 타입float0.0Fdouble0.0논리 타입booleanfalse참조 타입배열null클래스(String 포함)null인터페이스null2) 필드 사용(필드값을 읽고 변경)클래스 내부..

Java 기초 또 다시 공부하기 8일차 - 객체 지향 프로그래밍(객체의 특징, 객체 간의 관계, 클래스와 인스턴스

1. 객체의 특징객체(Object): 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중, 고유 속성을 가지고 있어 식별 가능한 것-> 속성과 동작[필드(Field)와 메서드(Method)]으로 구성되어 있음현실 세계의 객체를 소프트웨어 객체로 설계하는 것을 객체 모델링(object modeling)이라 함객체들은 각각 독립적으로 존재하면서, 메서드 호출을 통해 다른 객체의 기능을 이용하며 동작객체 지향 프로그래밍은 만들고자 하는 객체를 모델링하고, 집합 관계에 있는 부품 객체와 사용 관계에 있는 객체를 하나씩 설계한 후 조립하는 방식으로 프로그램을 개발하는 것으로아래와 같은 단계로 진행됨 클래스 생성설계된 클래스로 사용할 객체 생성생성된 객체 이용 2. 객체 간의 관계1) 집합 관계한 객체는 부품,..

Java 기초 또 다시 공부하기 7일차 - 배열, 열거 타입

1. 배열1) 배열이란?같은 타입의 데이터를 연속된 공간에 나열한 후, 각 데이터에 인덱스(index)를 부여한 자료구조배열도 객체이므로 힙 영역에 생성되고, 배열 변수는 참조 변수에 속하며 힙 영역의 배열 객체를 참조 사용 예시2) 배열 선언 형식타입[] 변수명;타입 변수명[];3) 배열 생성int[] scores = { 100, 90, 80 };String[] alphabets = new String[] {"A", "B", "C"}; // new String[] 부분은 생략 가능int[] intArray = new int[10]; // 배열 길이가 10이며, 0~9인덱스까지의 값은 0으로 채워짐4) 배열 길이 확인변수명.length;5) 명령 라인 입력main() 메서드의 매개값인 String[]..

Java 기초 또 다시 공부하기 6일차 - 참조 타입과 참조 변수

1) 기본 타입과 참조 타입참조 타입(reference type): 번지를 통해 객체(object)를 참조하는 타입 [배열/열거/클래스/인터페이스]-> 실제 값을 변수 안에 저장하는 기본 타입[byte/char/short/int/long/float/double/boolean]과 다르게, 메모리의 번지를 변수 안에 저장2) JVM에서의 메모리 영역(Runtime Data Area/운영체제에서 할당받음)(1) 메서드 영역(Method Area)JVM이 시작할 때 생성되며, 모든 스레드가 공유하는 영역코드에서 사용하는 클래스(.class)들을 클래스 로더로 읽어, 클래스별로 정적 필드(static field)/상수(constant)/메서드 코드, 생성자(constructor) 코드 등을 분류하여 저장 ..

Java 기초 또 다시 공부하기 5일차 - 반복문(for문, while/do-while문, break/continue)

1. 반복문1) for문: 주어진 횟수만큼 실행문을 반복 실행할 때 적합한 반복 제어문(1) for문 예시// 1에서 20까지의 합을 for문 없이 구하기int sum = 0;sum = sum + 1;sum = sum + 2;sum = sum + 3;sum = sum + 4;sum = sum + 5;sum = sum + 6;sum = sum + 7;sum = sum + 8;sum = sum + 9;sum = sum + 10;sum = sum + 11;sum = sum + 12;sum = sum + 13;sum = sum + 14;sum = sum + 15;sum = sum + 16;sum = sum + 17;sum = sum + 18;sum = sum + 19;sum = sum + 20;System.ou..

Java 기초 또 다시 공부하기 4일차 - 연산자와 연산식, 조건문

1. 연산자와 연산식연산자(operator): 연산에 사용되는 표시나 기호피연산자(operand): 연산자와 함께 연산되는 데이터연산식(expression): 연산자와 피연산자로 연산 과정을 기술한 것1) 단항 연산자(피연산자가 단 하나뿐인 연산자)(1) 부호 연산자(양수와 음수를 표시하는 +, -): char을 제외한 나머지 기본 타입에 사용 가능연산식 예시설명+ 피연산자피연산자의 부호 유지- 피연산자피연산자의 부호 변경(2) 증감 연산자(++, --): 변수의 값을 증가하거나 감소하게 하며, boolean을 제외한 모든 기본 타입에 사용 가능++i와 i+1의 연산 속도에 차이는 없음 연산식 예시설명++ 피연산자다른 연산 수행 전, 피연산자 값을 1 증가시킴-- 피연산자다른 연산 수행 전, 피연산자 값..

Java 기초 또 다시 공부하기 3일차 - 변수 타입 변환, 변수와 시스템 입출력

1. 변수 타입 변환두 변수의 타입이 다를 때, 한쪽 변수값을 다른 쪽 변수에 복사해서 저장해야 할 경우 필요한 변환1) 자동 타입 변환값의 허용 범위가 작은 타입이 허용 범위가 큰 타입으로 저장될 때, 프로그램 실행 도중에 자동으로 타입 변환-> 타입별 허용 범위 크기: byte => 예외로, char보다 허용 범위가 작은 byte는 자동 타입 변환되지 않음(char과 다르게 byte는 음수를 포함해서)(1) 자동 타입 변환 예시 코드(자바 컴파일러 사이트https://www.mycompiler.io/ko/new/java에서 실행)(2) 정수 연산에서 자동 타입 변환정수 타입 변수가 산술 연산식(연산자: +, -, *, /, %)에서 피연산자로 사용되면 int 타입보다 작은 byte/short 타입의 ..

Java 기초 또 다시 공부하기 2일차 - 변수, 기본 타입

1. 변수1) 변수의 정의값을 저장할 수 잇는 메모리의 특정 번지에 붙이는 이름-> 변수를 선언하고 값을 지정하여, 프로그램이 메모리에 값을 저장하고 읽을 수 있음메모리의 어디에 어떤 방식으로 변수를 저장할지는, 자바에서는 JVM이 정함자바의 변수는 다양한 타입의 값을 저장할 수 없으며, 한 변수 당 하나의 값만 저장 가능 2) 변수 선언변수에 어떤 타입(형, 자료형)의 데이터를 저장할 것인지, 이름을 무엇으로 할 것인지 선언// 타입 변수 이름;의 형태로 선언int age; // 정수(int)를 저장할 수 있는 age 변수 선언double value; // 실수(double)를 저장할 수 있는 value 변수 선언int x, y, z; // 같은 타입의 변수는 한꺼번에 선언할 수도 있음(예시: i..

Java 기초 또 다시 공부하기 1일차 - 자바 특징, 자바 개발 환경 구축, 자바 프로그램 개발 과정

1. 자바 특징안드로이드 스마트폰에서 실행하는 애플리케이션뿐만 아니라 웹사이트를 개발하는 핵심 언어로 사용자바 언어로 작성한 프로그램은 모든 운영체제에서 실행 가능객체(부품)를 만들고 서로 연결해서 더 큰 프로그램을 완성하는 기법을 위한 최적의 언어-> 객체 지향 프로그래밍(OOP, Object Oriented Programming)메모리(RAM)를 자동으로 관리하여, 개발자가 메모리를 관리하지 않고 핵심 기능인 코드 작성에 집중하게 함무료로 다운로드 및 사용이 가능한 오픈 소스 라이브러리(open source library)가 풍부하므로, 프로그램 개발 기간 단축2. 자바 개발 환경 구축(아래 글들을 참고하여 구축했습니다) JDK11 설치 및 환경 변수(JAVA_HOME) 설정 - CLASSPATH는 ..