본문 바로가기

분류 전체보기130

자바 싱글톤 패턴, 싱글톤 패턴 예시 싱글톤 디자인 패턴(Singleton Design Pattern) 유일한 인스턴스 하나만 생성해서 공유하는 프로그래밍 작성 패턴입니다. 동일한 자원을 사용하는 경우에 불필요한 낭비를 하지 않기 위해서 작성하는 디자인 패턴입니다. ​ 1. 외부에서 인스턴스 생성이 불가능하도록 생성자를 private으로 지정 2. 외부에서 인스턴스 생성이 불가능 하므로 클래스 내에서 직접 인스턴스 생성 3. 외부에서 인스턴스를 전달 받을 수 있도록 내부에서 Getter 메서드를 사용하여 인스턴스를 전달해준다. 싱글톤 디자인 패턴(Singleton Design Pattern) 예시 class SingletonClass { 1. 생성자 정의 private SingletonClass () {} // 생성자를 접근 할수 없도록 접.. 2021. 1. 6.
자바 클래스, 인스턴스, 메서드, 생성자, 오버로딩 클래스와 인스턴스 자바는 흔히 객체지향적인 언어라고 말합니다. 그렇다면 객체지향적 프로그래밍이라는 것은 무엇을 뜻하는 걸까요? ​ Object Oriented Programming(객체지향적 프로그래밍) is A.P.I.E A(Abstraction) : 추상화 P(Polymorphism) : 다형성 I(Inheritance) : 상속성 E(Encapsulation) : 캡슐화 이 4가지의 특성을 잘 이용해 만드는 것을 객체 지향적인 프로그래밍이라고 합니다. 클래스는 이 4가지의 특성 중 추상화를 뜻합니다. 자바에서 추상화란 현실의 객체를 분석하여 클래스로 정의하고, 해당 클래스를 메모리 내의 실체(인스턴스)로 구현하여 사용하는 것을 뜻합니다. 그렇다면 현실의 객체를 어떻게 클래스로 정의하면 좋을까요? 예.. 2021. 1. 6.
[백준 알고리즘][자바] 1330번 : 두 수 비교하기 https://www.acmicpc.net/problem/1330 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net 문제 해설 if문을 이용한 두 수 비교하기 문제입니다. 해결 방법 제한사항에 대한 코드를 작성해주는 것이 포인트! import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int A; int B; while(true) { A = scan.nextInt(); B = scan.nextInt(); if(A = -10000 && B = -10000).. 2021. 1. 6.
[백준 알고리즘][자바] 2588번 : 곱셈 https://www.acmicpc.net/problem/2588 2588번: 곱셈 첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다. www.acmicpc.net 문제 해설 세 자릿수끼리의 곱셈 과정을 프로그램으로 작성하는 문제입니다. 해결 방법 스캐너를 통해 두 수를 입력해준 뒤, 나머지 연산과 뺄셈을 이용해서 자릿수를 구하고 계산하였습니다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int A, B; A = scan.nextInt(); B = scan.nextInt(); Syst.. 2021. 1. 5.
[백준 알고리즘][자바] 1000번 : A+B https://www.acmicpc.net/problem/1000 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 해결 방법 Scanner를 통하여 두 수를 입력하고, println()메서드로 출력합니다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); int A, B; A = scan.nextInt(); B = scan.nextInt(); System.out.println(A+B); } } 2021. 1. 5.
자바 배열(Array) 배열 이란 같은 타입의 여러개의 변수를 하나의 묶음으로 다루는 메모리 공간입니다. 배열은 다음과 같은 특징이 있습니다. 같은 타입의 값들만 저장 가능 기본 데이터타입과 참조 데이터타입 모두 배열로 저장 가능 여러 개의 변수에 해당하는 메모리 공간이 연속된 공간에 차례대로 생성됨 한 번 생성된 배열은 크기 변경 불가능 배열은 선언, 생성, 초기화 3단계의 과정을 거쳐서 사용 배열 생성 시 자동으로 기본값으로 초기화 (int형 기본값 : 0, double형 기본값 : 0.0, boolean형 기본값 : false 등) 배열 생성 시 인덱스 번호가 자동으로 부여되며, 0 ~ 배열크기-1 까지 사용됨 배열명(변수명)을 사용하여 배열을 관리 가능(인덱스 번호 지정 필요) 배열 크기는 배열명.length 속성을 사.. 2021. 1. 5.
자바 for문, for문 구구단 출력 가장 기본적인 반복문으로 반복해야 할 횟수가 정해져 있을 때 주로 사용합니다. if 문과 마찬가지로 조건식이 true 일 때 문장을 실행하고 조건을 변경하고 변경된 내용을 다시 확인하여 false가 나오기 전까지 반복 실행합니다. for문 기본 문법 for(초기식; 조건식; 증감식) { // 조건식의 결과가 true 일 때 반복 실행할 문장들... } for 문이 진행되는 순서는 초기식을 정하고 초기식이 조건식에 부합하는지 확인합니다. 그 후 문장을 실행하고 증감식을 거칩니다. 다시 조건식에 부합하는지 확인합니다. 이 과정을 false가 나오기 전까지 반복합니다. for문 코드 예시 // for문을 활용한 구구단 출력 package hyuni; public class GugudanEx { public s.. 2021. 1. 5.
자바 if문, if문 예시 if문 if 조건문은 조건식과 실행 문장으로 구성되어 있습니다. 조건식은 boolean 타입인 true 또는 false를 반환하고 true 이면 블록을 실행하고 false 이면 실행하지 않습니다. 조건이 true 일 때 문장 1이 실행되고 false 이면 실행되지 않은 채로 문장 2가 실행됩니다. if문 코드 간단한 예제를 한번 보겠습니다. package hyuni; import java.util.Scanner; public class IfEx1 { public static void main(String[] args) { int money = 3500; if (money >= 3000) { // money가 3000원 이상일 경우 블록 안의 문장을 실행 System.out.println("택시를 타고 가.. 2021. 1. 5.
자바 기본형과 참조형 차이, 형변환 기본형 구분 자료형 예시 문자 char char exAlpha = 'A'; char gender = '남'; 숫자 정수형 byte, short, int, long int age = 20 long l = 450000000L; 실수형 float, double float f = 180.5f; double d = 80.9; 논리 boolean boolean isPowerOn = true; 나머지 Date, Person, String Date today = new Date(); Person p = new Person(); String name = "홍길동" 자바는 기본적으로 char, byte, short, int long, float, double, boolean에 해당하는 8개의 기본형(Primitive Ty.. 2021. 1. 5.
DOM 노드트리 순회하기 안녕하세요 혀니입니다. 개발 공부를 시작하고, Javascript, JQuery를 많이 사용했었지만, 회사에 입사하고 배우면서 그것들이 DOM(Document Object Model)이라는 것을 알았습니다. 보통 document.getElementsByTagName() 메서드를 사용하여 태그 네임을 가져오게 됩니다. 하지만 이번 포스팅에선 getElementsByTagName()을 쓰지 않고 태그 네임을 가져오도록 하겠습니다. 01. DOM의 구조 선택자를 사용하지 않고, 노드에 접근하기 위해선 DOM이 어떤 구조로 되어 있는지 알아야 합니다. DOM은 아래의 계층구조로 이루어져 있습니다. 어디서 많이 보지 않았나요? 네 바로 트리구조입니다. 그렇다면 트리순회를 통해 자식 노드부터 루트 노드까지 접근할 .. 2021. 1. 4.
반응형