[JAVA] 디자인패턴
·
Programming Language/JAVA
디자인 패턴 자주 사용하는 설계 형태를 정형화해서 이를 유형별로 설계 템플릿을 만들어둔 것 객체지향 언어를 이용해 프로그래밍 할 때 디자인 패턴을 사용한다면 보다 효율적이고 재사용성이 높은 설계 가능 유지보수 용이 디자인 패턴의 종류 GoF(Gang of Four)가 정의하는 디자인 패턴 → 총 23가지 생성 패턴(Creational Pattern) 객체를 생성하는 것과 관련된 패턴으로 객체의 생성과 변경이 전체 시스템에 미치는 영향을 최소화 하도록 만들어 줌 유연성 높일 수 있고 코드를 유지하기 쉬운 편 종류 Factory Method : 생성할 객체의 클래스를 국한하지 않고 객체 생성 Singleton : 한 클래스에 한 객체만 존재하도록 제한함 Prototype : 기존 객체를 복제함으로써 객체를 ..
[JAVA] 절차 지향 프로그래밍
·
Programming Language/JAVA
절차 지향 프로그래밍 일련의 절차 또는 기능으로 코드를 구성하는데 중점을 둔 프로그래밍 프로그램의 순서와 흐름을 먼저 세우고 필요한 자료구조와 함수들을 설계하는 방식 C, Visual Basic, Fortran, Pascal 등 특징 하나의 큰 기능을 처리하기 위해 작은 단위의 기능들로 나누어 처리하는 Top-Down 접근 방식으로 설계됨 데이터와 함수를 별개로 취급함 모든 함수는 데이터 공유가 가능 정해진 순서대로 입력해야 하므로 순서가 바뀌면 결과를 도출하기 어려움 프로그램이 커질수록 구조가 복잡해져 유지보수가 어려움(소형 프로젝트에 적합)
[JAVA] 최대공약수, 최소공배수
·
Programming Language/JAVA
최대공약수 (GCD) private static long gcd(long a, long b) { if(a % b == 0) return b; return gcd(b, a%b); } public static int gcd(int a, int b) { if(b == 0) return a; return gcd(b, a%b); } 최소공배수 (LCM) A * B / gcd(A, B) import java.io.*; import java.util.*; public class num13241 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(Sys..
[JAVA] 인스턴스 메서드
·
Programming Language/JAVA
인스턴스 메서드 인스턴스 객체를 생성 후 “인스턴스변수.메서드()” 형태로 호출하는 방식 인스턴스 멤버와 관련된 작업을 하는 메서드 메서드 내에서 인스턴스 변수를 사용할 수 있음 class Math1 { //인스턴스 변수 int a,b; // 인스턴스 메서드 int add(){ return a + b; } } class Main { public static void main(String args[]) { //인스턴스 생성 Math1 mt1 = new Math1(); mt1.a = 200; mt1.b = 100; //인스턴스 메서드 호출 System.out.println(mt1.add()); } }
[JAVA] 오버로딩 & 오버라이딩
·
Programming Language/JAVA
오버로딩 → 행위명은 동일하나 매개변수 타입, 개수, 순서가 다른 것 오버라이딩 → 상위 클래스의 메서드를 하위클래스가 재정의하는 것
[JAVA] Thread
·
Programming Language/JAVA
프로세스(Process)란? 단순히 실행 중인 프로그램 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당 받아 실행 중인 것 프로그램에 사용되는 데이터와 메모리 등의 자원 그리고 스레드로 구성됨 스레드(Thread)란? 프로세스 내에서 실제로 작업을 수행하는 주체 모든 프로세스에는 한 개 이상의 스레드가 존재하여 작업을 수행 두 개 이상의 스레드를 가지는 프로세스를 멀티 스레드 프로세스라고 함 스레드의 생성과 실행 Runnable 인터페이스를 구현하는 방법 public class Test01 implements Runnable { @Override public void run() { // 스레드 실행코드 } } Thread 클래스를 상속받는 방법 public class Test01 exten..