분류 전체보기 88

[JAVA] 인스턴스 멤버와 클래스 멤버

public class Car { // 인스턴스 멤버 (각 객체마다 고유) String company; // 자동차 회사 String model; // 자동차 모델 String color; // 자동차 색상 double price; // 자동차 가격 double speed; // 자동차 속도, km/h 단위 char gear; // 기어 상태, P (주차), R (후진), N (중립), D (주행) boolean lights; // 자동차 조명 상태, 켜짐(true) 또는 꺼짐(false) // ★클래스 멤버 (모든 객체가 공유하는 값)★ static int carCount = 0; // 생성된 자동차 객체 수 // 기본 ..

Back-End (Web)/JAVA 2024.11.12

[JAVA] 객체의 필드와 메서드

필드 = 객체의 속성필드는 객체의 데이터를 저장하는 역할을 한다.객체의 필드는 크게 고유한 데이터, 상태 데이터, 객체 데이터로 분류할 수 있다.이처럼 자동차 객체는 4개의 고유한 데이터와 3개의 상태 데이터 그리고 3개의 객체 데이터를 가질 수 있다.우리가 처음 소프트웨어의 부품을 객체라 표현한다.이 3개의 객체 데이터를 자동차를 만들기 위한 부품 데이터라고 이해해도 좋다.public class Car { String company; // 자동차 회사 String model; // 자동차 모델 String color; // 자동차 색상 double price; // 자동차 가격 double speed; // 자동차 속도 , km/h char gear; // 기어의 상태..

Back-End (Web)/JAVA 2024.11.12

[JAVA] 클래스 설계와 객체 생성

클래스클래스 = 설계도 이다. 더 간단히 설명하면 붕어빵 틀이라고 생각하면된다.  클래스의 구성 요소필드(Field): 클래스의 속성을 나타내며, 객체가 가져야 할 데이터나 상태를 저장합니다. 필드는 변수와 유사하지만 클래스 내에 정의되어 객체의 상태를 나타내는 데 사용됩니다.메소드(Method): 클래스가 수행하는 행동이나 기능을 정의합니다. 객체가 수행할 수 있는 작업을 메소드로 정의하며, 필드를 조작하거나 특정 기능을 수행하는 역할을 합니다.생성자(Constructor): 객체를 생성할 때 호출되는 특별한 메소드로, 클래스 이름과 동일한 이름을 가집니다. 생성자를 통해 객체의 초기 상태를 설정할 수 있습니다.접근 제어자(Access Modifier): 클래스, 필드, 메소드에 접근할 수 있는 범위를..

Back-End (Web)/JAVA 2024.11.12

[JAVA] 객체지향 프로그래밍

객체지향객체지향은 자바에서 가장 중요한 기능 중 하나로 체계적인 프로그래밍을 가능하게 만들어준다. 사전적 의미로는, 현실 세계에서 어떠한 제품을 만들기 위해 부품들을 하나씩 조립해서 완성시키는 것처럼 소프트웨어 또한 필요한 부품들을 만들고 하나씩 조립해서 하나의 완성된 프로그램을 만들 수 있는데 이러한 기법을 ‘객체지향 프로그래밍’이라고 부른다. 단순히 말하면 기능, 혹은 데이터 별로 쪼개어 하나의 부품단위로 만들고 이를 잘 합쳐서 프로그램을 만든다 보면 된다. 객체객체란 세상에 존재하는 물체를 뜻하며 식별이 가능한 것을 말한다. 강하지, 반려동물, 자동차와 같이 물질적인 것 부터 개념적인 부분까지 식별이 가능하면 객체라 불릴 수 있다. 객체는 일정한 속성을 가지고 있으며 행동을 할 수 있다. 이처럼 현..

Back-End (Web)/JAVA 2024.11.12

[JAVA] 참조형 자료구조 정리(LIST / STACK / QUEUE / SET / MAP)

참조형 변수는 왜 쓸까?변수 선언에서 보통 참조형 변수가 사람의 머리를 가장 잘 쪼개주는데, 그냥 상자에 물건을 담는게 아니라 물건을 HEAP이라는 상자에 담고 STACK에는 HEAP이라는 상자의 위치(주소)를 저장해 버린다..  사실 생각해보면 이상하다. 그냥 값만 저장하면 1개만 저장하면 되는데, 뭐하러 주소와 값을 같이 저장해서 메모리 공간을 2배로 차지하는 것일까.. 하지만 여기에는 중요한 이유가 있다.  왜 이런 일이 발생했는지 간단히 설명해 보자면 '객체 지향 프로그래밍과 효율적인 메모리 관리를 위해서' 이다. 예를 들어보자 1. 효율적인 메모리 관리를 위해String str = "Hello"; 여기서 str 변수는 "Hello"라는 값을 직접 저장하는 것이 아니라, "Hello"라는 문자열이..

Back-End (Web)/JAVA 2024.11.11

[JAVA] 배열

배열은 수학에서 사용하는 배열을 프로그래밍적인 리스트의 형태로 구현한 것이다.간단히 말하면, 엘범이라 생각하면 좋다. 여러가지 사진을 각각의 다른 페이지에 넣어서 저장하는 엘범처럼배열도 각 변수를 하나의 상자안에 각각 넣어둔다. String[] weeks = {"월", "화", "수", "목", "금", "토", "일"}; 실제 위는 변수 선언인데, 이 경우 ['월' 이란 사진]을 에 담고 ['화' 라는 사진]을 에 담고 ~~~~  ['일' 라는 사진]을 에 담은 { weeks 라는 엘범 }을 만든다는 의미이다.더보기더 정확한 CS 식 표현은 weeks라는 이름의 String 타입의 배열을 선언한다배열 안에는 7가지의 문자를 추가한다각 문자는 하나의 연속된 메모리 공간에 데이터를 순서대로 저장한다문자는 ..

Back-End (Web)/JAVA 2024.11.11

[JAVA] 반복문

이전 글의 조건문과 다르게, 정말 기계 스러운 처리 방식도 존재한다. 기계의 발명은 사람이 하는 작업을 자동화 하고 반복되는 일을 대신하기 위해서 였다. 그 기능에 기반하여 나온 것이 바로 반복문이다. 단순히 정말 특정 코드를 반복해서 실행하는 간단한 코드이다. 예시로 for, while, do-while등이 존재하는데 이 3개의 대하여 알아보자 for 문특정 조건에 따라 연산을 반복해서 수행하고 싶을 때 사용하는 문맥입니다.for (초기값; 조건문; 증가연산) { (연산) } 형태로 사용합니다.특정 조건은 초기값과 조건문을 통해서 정의합니다.반복할 때마다 값을 증가시키려면 증가연산을 정의합니다.초기값이 조건문을 만족할 때까지 (연산)을 수행하면서 회차마다 증가연산을 수행합니다.// for 문for(in..

Back-End (Web)/JAVA 2024.11.11

[JAVA] 조건문

간단히 프로그램은 인간이 하는 말을 단조로운 언어로 번역해 기기에게 설명해 주는 것이라 말할 수 있다. 즉 프로그램이란 현실이나 이상을 구현하는 작업임으로, 그 체계는 인간의 언어를 기반으로 한다. 흔히 일상 생활에서 '~하면 ~하지' 와 같은 만약의 의미를 담는 조건문을 사용하는 경우가 많다. 어찌 보면 하나의 템플릿 처럼 사용될 정도로 자주 사용하는 문장인 만큼 프로그램에도 이 조건문을 정의해 두었다.if(조건)특정 조건에 따라 다른 연산을 수행하고 싶을 때 사용하는 문맥입니다.기본적인 조건에 따른 연산을 수행하기 위해 if(조건) { 연산 } 형태로 사용합니다.if의 소괄호() 안의 조건이 boolean 값 true를 만족하면 중괄호 {} 안의 연산을 수행합니다.if(조건)-else if(조건)if..

Back-End (Web)/JAVA 2024.11.11

[JAVA] 연산자

연산자와 피연산자계산할 때 계산의 대상이 되는 것이 피연산자 이며, 계산의 목적이 되는 것이 연산자입니다.연산자 : 덧셈, 뺄셈처럼 계산할 기호 ➕피연산자 : 연산자로 인해 계산되는 숫자 🔢연산자 종류 산술~논리 연산자는 비교적 간단히 설명이 가능하다 +(덧셈), - (뺄셈), *(곱셈), /(나눗셈/몫), % (나눗셈/나머지) > (크다) , (작다), >= (크거나 같다), (작거나 같다), == (같다), != (다르다) && (AND = 피연산자 모두 참), ||(OR = 피연산자 둘 중 하나라도 참), !(피연산자의 반대 boolean 값)대입 연산자 변수를 바로 연산해서 그 자리에서 저장하는 연산자// 대입 연산자int number = 10;number = number + 2;Syste..

Back-End (Web)/JAVA 2024.11.11

[JAVA] 변수와 변수 종류

프로그래밍에서 변수는 데이터를 저장하는 "이름이 있는 저장 공간"이다. 프로그램 실행 중에 특정 값을 저장하고, 필요할 때마다 그 값을 쉽게 불러오거나 변경할 수 있다.(상수는 변수와 비슷하지만 값이 변경이 안된다는 특징이 있다.) int number; // number 라는 이름의 int(숫자)타입의 저장공간을 선언String name; // name 이라는 이름의 String(문자열)타입의 저장공간을 선언  위의 상자 예시를 기준으로int는 상자의 종류(골판지인지 플라스틱인지)number는 상자 앞에있는 myNum처럼 닉네임10은 상자에 저장할 값이다.final int number = 10; // 1. 상수로 선언 (데이터 타입 앞에 final 을 붙이면 됩니다.) + 상수는 위와 같이 선언하면 된다..

Back-End (Web)/JAVA 2024.11.11