분류 전체보기 121

[Java] Thread (1) - 스레드란 무엇인가?

우리는 여러가지 흐름 속에 살고 있다. 프로그램 또한 마찬가지로, 그들만의 흐름이 있다. 이번 포스팅에서는 스레드의 기초적인 개념을 공부해보자. 스레드란? 사전적 의미로는 '실, 가닥, 흐름' 등 이다. 인터넷 용어로서는, '프로그램 내에서 실행되는 흐름의 단위' 라고 할 수 있다. 우리가 사용하는 모든 프로그램에는 최소 한 개의 흐름이 작업을 수행한다. 즉, 최소 한 개의 스레드가 존재한다. 일반적으로 한 개의 프로세스는 한 가지 일을 한다. 하지만 스레드를 다룰 줄 안다면, 한 개의 프로세스가 두 개 이상의 일을 동시에 할 수 있게 된다. *프로세스 : 실행중인, 동작하고 있는 프로그램 싱글 스레드, 멀티 스레드 싱글 스레드는, 말 그대로 단일 스레드이다. 한 개의 프로세스에 한 개의 스레드가 존재한..

Java (자바) 2022.07.08

[Java] 자바 랜덤 함수 - Random 클래스

프로그램을 만들다보면, '임의의 값' 혹은 '무작위 값' 을 이용해야 할 때가 있다. 이러한 우리를 위해서, 자바는 Random 클래스를 제공해준다. 그럼, Random 클래스를 사용해보자 ! 1. Random 클래스를 사용하기 위해서는 java.util 패키지에서 import 해줘야 한다. import java.util.Random; // 임포트 ! public class Random_Example { public static void main(String[] args) { } } 2. Random 클래스를 호출하여 객체를 생성해준다. import java.util.Random; // 임포트 ! public class Random_Example { public static void main(String..

Java (자바) 2022.07.06

[Java] 클래스 - (2) 클래스, 생성자와 메서드

지난 포스팅에서는 클래스에 대해 공부하기 전, '객체 지향적 프로그래밍' 에 대해 알아보았다. 이번 포스팅에서는 클래스에 대해 알아보자. 클래스란 ? 앞선 포스팅에서 다뤘던 '객체 지향적 프로그래밍' 의 중심인 '객체' 를 정의하는 틀이라고 할 수 있다. 객체를 만들어 내기 위한 설계도와 같은 개념으로 설명하기도 한다. 또한, 우리가 만들어내는 어떠한 프로그램의 구성 요소 중 일부라고 볼 수도 있겠다. 이제 클래스의 구성 요소, 생성자와 메서드에 대해 알아보자. 생성자란? (constructor) 객체의 생성과 동시에 인스턴스 변수를 원하는 값으로 초기화할 수 있는 메서드의 일종이다. new 키워드를 사용하여 객체를 생성할 때, 자동으로 호출된다. 메서드의 일종으로 분류하였다지만, 일반적으로 사용하는 메..

Java (자바) 2022.07.06

[Java] 클래스 - (1) 객체 지향적 프로그래밍

우리가 자바라는 언어를 사용함에 있어서, '클래스' 라는 개념은 필수불가결하다. 자바는 객체 지향적 언어이기 때문이다. 그렇기에 이번 포스팅에서는 클래스에 대해 공부하기 전에, 객체 지향에 대해 짚고 넘어가볼까 한다. ● 목 차 ● · 객체 지향적 프로그래밍의 유래 · 객체 지향적 방식이란 ? · 객체 지향적 방식의 장점 · 객체 지향적 방식의 단점 객체 지향적 프로그래밍의 유래 프로그래밍 언어의 종류는 매우 다양한데, 절차 지향적 언어와 객체 지향적 언어로 분류할 수 있다. 하지만, 초기 프로그래밍 방식은 절차 지향적 프로그래밍 뿐이었다. 모든 코드를 명시된 순서대로만 처리하였고, 결과를 내주었다. 이러한 방식은 코드가 복잡해지고 양이 방대해질수록, 여러 가지 관점에서 마주하는 불편함을 피할 수 없었다..

Java (자바) 2022.07.06

[WEB] 웹개발의 기초언어 HTML/CSS/JS/PHP

나만의 홈페이지를 직접 만드는 것을 목표로, 웹 개발 공부를 시작하였다. 홈페이지 쯤이야.. 뚝딱 만들지 않겠나 라는 생각으로 공부를 시작하였지만,그곳에서도 역시 거대한 벽들이 있었다. 내가 느꼈던 수 많은 벽 중에서 가장 먼저 찾아온 벽은,여러가지 언어를 습득해야 한다는 압박이었다.   웹 개발은 정말 다양한 언어로 구현이 가능하다. 하지만 10개의 언어로 웹 개발을 할 수 있다고 한들,내가 10개의 언어를 한번에 습득할 수는 없으니... 가장 기초적인 언어 4개만 꼽아서 공부하려고 한다.  HTML  :  Hypertext Markup Language  HTML은 웹 페이지의 구조적인 부분을 담당하는 언어이다.사람으로 비유하자면, 뼈대의 역할을 한다고 생각한다. 그렇기에 모든 웹 페이지에서 필수적으로..

[Java] 반복문 - while 문 / 레벨업 로직 구현해보기

지난 포스팅에서는 for문에 대해 알아보았다. 이번 포스팅에서도 반복문 중 하나인, while문에 대해 알아보겠다. while은 '~ 동안', '~ 하는 동안' 이라는 의미를 가지고 있다. 의미 그대로, '조건식이 true인 동안' 반복한다. '조건식이 false이면' 반복을 멈춘다. 조건식을 true로 넣어줄수도 있고, for문과 마찬가지로, 비교연산을 통해 조건식을 넣어줄 수도 있다. while문의 사용 문법은 다음과 같다. while (조건식) { 반복 내용 } for문에 비해서 문법이 간편해 보인다. (초기값 설정과 증감연산이 없기 때문이다) while 문을 사용해서 레벨업 로직 구현 첫번째 시도 앞서 포스팅했던 for문에서 반복문의 기초적인 내용을 다루어봤기 때문에, 곧바로 응용 과정을 시도해보..

Java (자바) 2022.04.17

[Java] 반복문 - for 문 / 도형 만들기(마름모, 별, 원)

코드를 작성하다보면, 똑같은 & 비슷한 방식으로 여러번 적게되는 로직이 분명히 있을 것이다. 뭐, 손가락으로 세어질 정도의 양은 직접 코드를 작성해도 상관없다고 치자. 하지만, 만렙이 1000레벨인 RPG게임으로 가정하고 간단히 예를 들어보자. 1레벨부터 1000레벨까지의 레벨업하는 과정을 1000개의 코드로 직접 작성할 수 있을까? 레벨업이라는 기준으로, 변경되는 수치들을 포함하여 (레벨, 능력치, 최대 exp 등) 반복된 로직으로 구현했다고 볼 수있다. 꼭 레벨업이 아니더라도, 반복문은 거의 모든 프로그램에서 필수적으로 사용되며 우리의 고생을 덜어줄 수 있는.. 정말 고마운 문법이다. 반복문의 종류도 여러가지가 있는데, 이번 포스팅에서는 for문에 대해 알아보자. for문의 기본 문법은 다음과 같다...

Java (자바) 2022.04.17

[Java] 조건문 - if / else if / else 문 + 예외처리

조건문 주어진 조건이 참이냐 거짓이냐에 따라 다른 명령을 처리하도록 만든 수행문이다. 프로그램의 가장 기본이 되는 코드이며, 조건문만 사용해도 웬만한 프로그램의 로직을 구현해낼 수 있다. 이번 포스팅에서는, 조건문 중에서 if문에 대해 알아보자. if '만약 ~ 한다면' 이라는 의미를 갖고있는 if 라는 단어로 조건문을 실행할 수 있다. 문법은 다음과 같다. if ( 조건식 ) { 조건식에 해당할 시, 실행할 내용 } int타입 변수 a에 5를 대입하였고, a가 5와 같다는 조건식의 내용이 실행된 모습을 확인할 수 있다. else if else 는 '또 다른' 이라는 의미로, if 에 해당하지 않는 그 외의 경우에 해당한다. if의 조건식에 해당하지 않아서, else if 조건으로 실행된 것을 확인할 수..

Java (자바) 2022.04.17