전체 글

개발 공부 정리
🔍 알고리즘

[알고리즘] 거품 정렬 (Bubble Sort)

거품 정렬 거품 정렬은 선택정렬과 유사한 알고리즘으로 서로 인접한 두 원소의 대소를 비교하고, 조건에 맞지 않다면 자리를 교환하며 정렬하는 알고리즘 입니다. 이름의 유래로는 정렬 과정에서 원소의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기 때문에 지어졌다고 합니다. 프로세스 1회전에 첫 번째 원소와 두 번째 원소를, 두 번째 원소와 세 번째 원소를, 세 번째 원소와 네 번째 원소를, ... 이런 식으로 (마지막 - 1)번째 원소와 마지막 원소를 비교하여 조건에 맞지 않는다면 서로 교환합니다. 1회전을 수행하고 나면 가장 큰 원소가 맨 뒤로 이동하므로 2회전에서는 맨 끝에 있는 원소는 정렬에서 제외되고, 2회전을 수행하고 나면 끝에서 두 번째 원소까지는 정렬에서 제외됩니다. 이렇게 정렬을 1회전 수..

☕ Java

[Java] Day06 - 생성자

생성자 생성자는 객체의 생성과 동시에 인스턴스 변수를 원하는 값으로 초기화할 수 있습니다. 즉, 생성자는 객체를 초기화 하기 위해 사용합니다. 생성자의 특징 생성자의 이름은 해당 클래스와 이름이 같아야 한다. 생성자는 반환값이 없지만, 반환 타입을 void형으로 선언하지 않는다. 생성자는 초기화를 위한 데이터를 인수로 전달받을 수 있다. 하나의 클래스가 여러 개의 생성자를 가질 수 있다. (메서드 오버로딩) 생성자의 호출 new 키워드를 사용하여 객체를 생성할 때 자동으로 생성자가 호출됩니다. package class05; class Circle { String name; int radius; double PI; double area; Circle(String name, int radius) { this..

☕ Java

[Java] Day06 - 클래스

클래스 클래스는 객체를 정의하는 틀 또는 설계도와 같은 의미로 사용되며 자바의 기본 단위의 객체입니다. 클래스는 객체의 상태를 나타내는 필드(field)와 객체의 동작을 나타내는 메서드(method)로 구성됩니다. 객체의 상태 : 멤버변수, 필드, 속성 객체의 동작(기능) : 함수, 메서드 즉, 필드란 클래스에 포함된 변수(variable)을 의미합니다. 또한, 메서드란 어떠한 특정 작업을 수행하기 위한 명령문을 의미합니다. 클래스의 구성 요소 필드 : 속성 메서드 : 기능 생성자 : 필드 초기화 객체화 자바에서 클래스를 사용하기 위해서는 해당 클래스 타입의 객체를 선언해야 합니다. 이렇게 클래스로부터 객체를 선언하는 과정을 객체화(인스턴스화)라고 합니다. Random rand = new Random()..

☕ Java

[Java] Day06 - 객체 지향 프로그래밍(Object oriented Programming)

객체 지향 프로그래밍 자바는 객체 지향 프로그래밍 언어입니다. 객체 지향 프로그래밍은 필요한 데이터를 추상화 시켜 상태(state)와 행위(behavior)를 가진 객체로 만들고, 객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법입니다. 객체 주변에서 흔히 볼 수 있는 모든 실재(實在)하는 대상이나 논리, 사상, 개념 등과 같은 추상적인 대상들 중 자신의 속성을 가지고 있고 다른것과 식별 가능한 것을 말합니다. 즉, 소프트웨어에서 실제로 구현될 데이터를 의미합니다. 객체 지향 프로그래밍의 특징 추상화 캡슐화 상속 다형성 1. 추상화(Abstration) 추상화란 객체들의 공통된 속성이나 관계 등을 추출해서 정의하는 것을 말합니다. 데이터나 프로세스 등을 의미가 비슷한 개념이나 표현으로 정의해나가..

☕ Java

[Java] Day05 - 함수 생성 방식, 함수 호출, 함수 오버로딩

함수 생성 방식 함수를 생성하는 방식에는 대표적으로 2가지 방식이 있습니다. 메서드 시그니처를 먼저 생성하고 기능을 구현 기능을 구현하고 메서드 시그니처를 생성 방식 1 package class01; import java.util.Scanner; public class Test01 { // 1. 메서드 시그니처를 먼저 만들고, 그 다음에 기능을 구현 // [1] // Q1) 어떤수가 입력되었을때, 짝수인지 아닌지 판별하는 함수 // INPUT : int 1개 // OUTPUT : boolean public static boolean isEven(int num) { if (num % 2 == 0) { return true; // 함수 즉시 종료 } return false; } } 방식 2 package c..

☕ Java

[Java] Day05 - 함수

함수 함수란 어떠한 특정 작업을 수행하는 명령문의 집합입니다. 함수를 사용하면 모듈화와 컴포넌트화를 할 수 있습니다. ※ 모듈화(Modularization) : 기능적인 분리를 통해서 프로그램을 개발할 때 유지보수와 코드 재사용성을 높여 소프트웨어를 설계하는 기법 함수의 특징 프로그래밍을 하다 보면 똑같은 내용을 반복해서 적을 때가 있습니다. 이럴 때 바로 함수가 필요합니다. 여러 번 반복해서 사용된다는 점에서 반복문과 비슷하지만 반복문은 공백없이 여러번 (외부의 다른 수행없이) 반복합니다. 하지만 함수는 외부의 다른 수행을 하다가 또 다시 반복할 수 있습니다. 반복문과 함수 모두 코드를 재사용한다는 측면은 같습니다. 함수의 장점 오류의 파급효과 감소 개발시간 단축 비용 감소 이익 증가 유지보수 용이 함..

harveydent
개발 블로그