본문 바로가기

JAVA 공부/JAVA 기초5

[자바]싱글톤 패턴(Singleton pattern)을 쓰는 이유와 문제점 // Factory // 프로그램 전체에서 공유되는 객체 리모콘을 보관하는 클래스 //1개이상 필요없고 공유하는것들. class Factory { private static Session session; private static DB db; private static ArticleService articleService; private static ArticleDao articleDao; private static MemberService memberService; private static MemberDao memberDao; private static Scanner scanner; public static Session getSession() { if (session == null) { sessio.. 2020. 6. 9.
[자바 기초] 자바 디자인패턴 스트래티지 패턴 소프트웨어를 설계할 때 특정 맥락에서 자주 발생하는 고질적인 문제들이 또 발생했을 때 재사용할 할 수있는 훌륭한 해결책 “바퀴를 다시 발명하지 마라(Don’t reinvent the wheel)” 이미 만들어져서 잘 되는 것을 처음부터 다시 만들 필요가 없다는 의미이다. 패턴이란 각기 다른 소프트웨어 모듈이나 기능을 가진 다양한 응용 소프트웨어 시스템들을 개발할 때도 서로 간에 공통되는 설계 문제가 존재하며 이를 처리하는 해결책 사이에도 공통점이 있다. 이러한 유사점을 패턴이라 한다. 패턴은 공통의 언어를 만들어주며 팀원 사이의 의사 소통을 원활하게 해주는 아주 중요한 역할을 한다. 1. 디자인패턴 (디자인 패턴은 소프트웨어 공학론 안의 좋은 코드를 설계하기 위한 일종의 설계 디자인 방법론) 디자인 패턴.. 2020. 5. 13.
[자바 기초] 절차지향 언어와 객체 지향 언어의 차이는? 절차지향(procedural Programming) 절차지향 프로그래밍은 물이 위에서 아래로 흐르는 것처럼 순차적인 처리가 중요시 되고 프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 기법을 말합니다. 대표적인 절차지향 언어에는 C언어가 있는데, 이는 컴퓨터의 작업 처리 방식과 유사하기 때문에 객체지향 언어를 사용하는 것에 비해 더 빨리 처리되어 시간적으로 유리하다고 볼수 있습니다. 옛날에는 하드웨어와 소프트웨어의 개발 속도차이가 크지 않았다면 지금은 하드웨어의 개발속도가 소프트웨어의 속도를 따라오지 못하는 상황이 발생합니다. 이는 객제치향 언어가 나타나면서 이러한 현상이 존재하게되었습니다. 장점 - 컴퓨터의 처리구조와 유사해 실행속도가 빠르다 - 메모리를 직접 조작할수있다. 단점 - 유지보수가 .. 2020. 5. 13.
[자바 기초]상속과 구성 상속(Inheritance) A(자식) is a B(부모) 부모클래스 A = new 자식클래스(); 우리가 생각하는 상속이라는 단어가 맞다. 현실 세계에서 부모님이 자식들에게 재산을 물려주는 것과 비슷하다. 차이라고 하면 자식(클래스)이 상속받고 싶은 부모(클래스)를 선택해서 물려받는다. 이때 상속받는 클래스를 자식 클래스, 하위 클래스 또는 서브 클래스라고 부른다. 상속을 해주는 클래스를 부모 클래스, 상위 클래스 또는 슈퍼 클래스라고 한다. 상속의 대상 자식 클래스가 부모 클래스로부터 상속을 받게 되면 부모 클래스의 필드와 메서드를 물려받게 된다. 단, 접근제어자가 private을 갖는 필드나 메소드는 상속이 불가하고, 패키지가 다를 경우 접근제어자가 default인 경우도 상속이 불가하다.(접근제어.. 2020. 4. 28.
[자바 기초]지역변수와 인스턴스 변수 public class test { int instance; // 인스턴스 변수 Static int c;//클래스 변수 static은 실행되자마자 바로 메모리에 로드 void method() { int third; //지역변수 } } 인스턴스 변수는 클래스 내에, 지역변수는 메소드 안에 위치하고있다. 변수를 구분짓는 가장 중요한 요소는 '변수의 선언된 위치' 지역 변수 - 메소드 안에서 선언한 것을 지역 변수라고 부르는데, 메소드 매개변수도 지역변수에 포함됩니다. 지역 변수는 임시 변수며 메소드가 스택에 들어있는 동안만 (즉, 메소드 전체를 감싸는 오른쪽 중괄호가 나타나기 전까지만) 살아있습니다. 메소드가 종료되면 소멸되어 사용할 수 없습니다. 인스턴스 변수 - 클래스 내에서 선언한 것을 인스턴스 변수라.. 2020. 4. 24.