DEVELOPER B 🌱

    프로그래밍 패러다임 : 절차지향 vs 객체지향 vs 함수형

    프로그래밍 패러다임 : 절차지향 vs 객체지향 vs 함수형

    1. 프로그래밍 패러다임이란? 프로그래밍 패러다임이란 간단하게는 프로그래밍의 스타일을 뜻하며, 프로그램은 순차, 분기, 반복, 참조로 구성되어지는데 이를 어떤 관점(스타일)을 중심적으로 설계하느냐에 따라 패러다임의 종류가 나뉩니다. 다시 말하면, 프로그래밍 패러다임은 개발자로 하여금 프로그래밍할 때에 관점을 제시해주는 역할을 합니다. 현재 프로그래밍 패러다임에는 정말 많은 종류의 패러다임이 존재하고 있습니다. 패러다임은 크게 명령형과 선언형 프로그래밍으로 나뉘어집니다. 명령형 프로그래밍은 컴퓨터에 문제를 어떻게 해결하는지 명령을 내리는 방식으로, 대표적으로 절차지향 프로그래밍과 객체지향 프로그래밍이 있습니다. 선언형(함수형) 프로그래밍은 컴퓨터에게 무엇을 해야하는지를 선언해주는 방식으로, 함수형에서는 어..

    [Java]Java의 다형성, 오버라이딩(Overriding)

    [Java]Java의 다형성, 오버라이딩(Overriding)

    1. 다형성이란 ? 다형성(Polymorphism) 개념은 객체 지향 프로그래밍에서 중요한 특성 중 하나입니다. 다형성은 추상적이고 포괄적인 개념이라 정확하게 어떤 동작이다라고 딱 떨어지게 표현하기는 어렵습니다. 대신 다형성을 나타내는 여러가지 방식과 방법을 통해서 다형성을 설명할 수는 있습니다. 다형성이란 간단히 말해 하나의 객체가 여러 가지 타입을 가질 수 있는 것을 말합니다. 좀 더 프로그램적으로 말하자면, 하나의 클래스나 함수가 다양한 방식으로 동작할 수 있도록 만드는 것입니다. 실생활 예로 다형성의 가장 유명하고 이해하기 쉬운 예로는 다형성을 붕어빵 틀에 비유하는데, 붕어빵 틀에 재료로 무엇을 담느냐에 따라 팥붕이 되거나 슈붕이 되거나 피붕이 되겠죠. 완벽한 비유라고는 할 수 없지만, 다형성 개..

    객체 지향 프로그래밍이란? (Object-Oriented Programming, OOP)

    객체 지향 프로그래밍이란? (Object-Oriented Programming, OOP)

    객체 지향 프로그래밍(Object-Oriented Programming, OOP)이란? 객체 지향 프로그래밍이라는 이름에서 알 수 있듯이 객체 지향 프로그래밍이란 객체를 지향하는 프로그래밍 방식이란 것을 알 수 있습니다. 위키백과에서는 객체 지향 프로그래밍을 아래와 같이 정의합니다. 객체 지향 프로그래밍(Object-Oriented Programming, OOP)은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 쉽게 만들기 때문에 대규모 소프트웨..

    [Java] 화면에서 입력 받기 : 스캐너(Scanner)

    [Java] 화면에서 입력 받기 : 스캐너(Scanner)

    자바에서 화면으로부터 입력을 받아오는 방법은 정말 다양합니다. 그 중에서 가장 기본적이고 보편적인 방법이 Scanner 클래스를 이용한 방법입니다. Scanner가 보편적으로 쓰이는 이유와 Scanner의 사용법, 유의사항 등 Scanner 클래스에 대해 알아보겠습니다. 입출력(I/O)이란? I/O란 Input/Output의 약자로 컴퓨터 내부 또는 외부의 장치와 프로그램간의 데이터를 주고받는 것을 말합니다. Scanner는 Input/Ouput 중 Input에 해당하며, 화면으로부터(사용자로부터) 입력을 받는 것을 도와주는 클래스입니다. Scanner 클래스 화면으로부터 읽어온 바이트를 정수, 실수, 문자, 문자열, boolean 등의 타입으로 변환해 리턴하는 클래스 java.util.Scanner :..

    [Java] 빠른 입출력 : BufferedReader & BufferedWriter

    [Java] 빠른 입출력 : BufferedReader & BufferedWriter

    1. BufferedReader & BufferedWriter란? 간단히 말해서 BufferedReader와 BufferedWriter란 버퍼를 이용하여 데이터의 입출력을 다루는 함수입니다. 그렇다면 우선 버퍼란 무엇일까요? 전에 버퍼에 대해 정리해둔 글입니다. 필요하시다면 참고해보세요. [개념] 버퍼(Buffer) 앞서 정리했던 스트림과 늘 붙어다니는 개념이 바로 버퍼(Buffer)다. 버퍼도 스트림과 같이 일상에서 자주 쓰이는 용어다. 누구나 한번쯤 영상을 보다가 멈추면 "버퍼링에 걸렸다"라고 말해본 경 ontheway.tistory.com 윗 글에서 마지막에 버퍼는 데이터를 옮기는 바구니에 비유했듯이, 입/출력에서의 버퍼란 입/출력이 발생할때마다 데이터를 하나하나 전송하지 않고 차례대로 모아두었다가..

    [Java] 백준 2588번 : 곱셈 (입출력과 사칙연산)

    [Java] 백준 2588번 : 곱셈 (입출력과 사칙연산)

    1. 문제 ◽ 주소 : https://www.acmicpc.net/problem/2588 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net ◽ 문제 내용 : 2. 풀이 ◽ 풀이 1 : java.util.Scanner, System.out.println(); 사용 import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int m = kb.nextInt(); System.out.println(n * (m % 10)); ..

    [Java] 백준 10430번 : 나머지 (입출력과 사칙연산)

    [Java] 백준 10430번 : 나머지 (입출력과 사칙연산)

    1. 문제 ◽ 주소 : https://www.acmicpc.net/problem/10430 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net ◽ 문제 내용 : 2. 풀이 ◽ 풀이 1 : java.util.Scanner, System.out.println(); 사용 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner kb = new Scanner(System.in); int A = kb.nextInt(); int B = kb.nextInt(); int C = kb.nextInt(); System.out.p..

    [Java] 백준 10869번 : 사칙연산 (입출력과 사칙연산)

    [Java] 백준 10869번 : 사칙연산 (입출력과 사칙연산)

    1. 문제 ◽ 주소 : https://www.acmicpc.net/problem/10869 10869번: 사칙연산 두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. www.acmicpc.net ◽ 문제 내용 : 2. 풀이 ◽ 풀이 1 : java.util.Scanner, System.out.println(); 사용 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int m = kb.nextInt(); System.out..