프로그래밍언어
-
프록시 패턴프로그래밍언어/Java(중급) 2020. 4. 24. 21:25
안녕하세요 현우입니다. 이번 포스팅은 [ 프록시 패턴에대한 이해 ] 입니다. 자바 학습에 도움을 주신 백기선 개발자님께 항상 감사드립니다 :) https://www.inflearn.com/course/the-java-code-manipulation/lecture/23430 더 자바, 코드를 조작하는 다양한 방법 - 인프런 여러분이 사용하고 있는 많은 자바 라이브러리와 프레임워크가 www.inflearn.com 1. 프록시 패턴 프록시란 ? 사전적의미 : 대리, 대리인이라는 듯 프로그래밍에서 프록시는? 위 그림과 같이 프록시와 리얼프로젝트는 동일한 하나의 인터페스를 공유하고 있다. 그리고 프록시는 리얼프로젝트를 참조하고 있다. 즉 프록시와 리얼 서브젝트는 똑같은 인터페이스로 구현되어있는 것이다. 그런데 클..
-
3. OOP(Object Oriented Programming) 오버라이딩프로그래밍언어/Java(초급) 2020. 4. 7. 01:49
안녕하세요 현우입니다. 이번 포스팅은 [ OOP 상속 - 오버라이딩의 이해 및 사용 ] 입니다. 참고도서 http://www.orentec.co.kr/teachlist/JAVA_BASIC_1/teach_sub1.php ====== 오렌지 미디어 ====== 목록 서버1 서버2 강의시간 강의교안 Chapter 01. Let's Start JAVA! 01-1. 자바의 세계로 오신 여러분을 환영합니다. 32:59 01-2. 자바 프로그램의 이해와 실행의 원리 17:01 01-3. 첫 번째 자바 프로그램의 관찰과 응용 07:47 01-4. 컴파일의 대상에서 제외되는 주석! 04:15 Chapter 02. 변수(Variable)와 자료형 www.orentec.co.kr 1. 상속을 위한 기본 조건인 IS-A 관계..
-
2. OOP(Object Oriented Programming) 상속프로그래밍언어/Java(초급) 2020. 4. 2. 00:32
상속은 재활용 +a 이다 객체지향에서의 상속에 대한 논의와 CBD(Component Based Developemnt) "객체지향 패러다임은 재활용의 관점에서 실패한 패러다임이다." 이는 여러소프트웨어 공학전문가들의 의견이며 내가 읽은 도서와 강의의 의견이다. (맨 아래 참고) 하지만 이 의견은 대부분의 자바기본서에서 말하는 다음의 관점에 위배되는 의견이기도 하다. "자바에서 상속의 개념은 기존의 클래스를 재활용하여 새로운 클래스를 작성하기 위한 문법으로 정의되어 있다." 상속을 재활용 관점에서 바라보는 것은 문제가 될 수 있다. 상속에 대한 보다 중요한 다른 측면을 보지 못할 수 있기 때문이다. 상속을 통해 연관된 일련의 클래스에 대한 공통적인 규약을 정의할 수 있으며 실제로 이전에 개발해 놓은 클래스의..
-
1. OOP(Object Oriented Programming) 캡슐화프로그래밍언어/Java(초급) 2020. 4. 1. 23:42
안녕하세요 현우입니다. 이번 포스팅은 [ 자바의 기본 OOP의 캡슐화에 대한 이해 및 용도 ] 입니다. :) 1. 정보은닉 정보은닉이란 인스턴스 변수에 private를 선언하는 것이다. 정보은닉이 되지 않은 예제코드 /** 클래스가 생성되있다고 가정하에**/ // 본래 사과의 가격은 1000 public static void main(String[] args){ FruitSeller seller = new FruitSeller(0, 30, ,1500); FruitBuyer buyer = new FruitBuyer(10000); seller.myMoney +=500; //돈 500원 만내고 buyer.myMoney -=500; seller.numOfApple -=20; //사과 스무개를 가져간다!! buy..
-
5. Collection 프레임워크 (ArrayList vs LinkedList)프로그래밍언어/Java(초급) 2020. 3. 29. 17:51
자료구조란? 프로그램을 작성하는 과정에는 여러데이터가 필요 하다. 예를들어100명의 학생 성적을 처리한다고 할때 각각의 성적 값을 변수에 할당한다면100개의 변수가 필하고 이런경우 배열을 이용하면하나의 변수명으로 100개의 데이터를 처리할 수 있게 된다. 자료구조는 컴퓨터 프로그램에서 데이터를 처리하기 위해 만든 구조로Array, List, Map이 대표적인 형태 이며 이 외에 프로그램 언어에 따라Tuple, Dictionary등을 사용하기도 한다. 리스트(List) 배열과 유사한순차적인 자료구조를 제공 한다. 객체지향 프로그램언어에는 보통 List 자료구조가 기본적으로 제공되며 그렇지 않을 경우 직접 자료구조를 구현하거나 구현된 라이브러리를 사용해야 한다. 데이터 접근을 위해 인덱스를 사용해야 하는 점..
-
4. StringBuilder & StringBuffer 클래스 다루기프로그래밍언어/Java(초급) 2020. 3. 27. 02:26
앞에서 배운것 처럼 문자열 결합시 새로운 인스턴스가 계속해서 생겨나기 때문에 for 문을 돌면서 지속적으로 문자열을 결합하는 형태의 프로그램은 성능에 큰 영향을 미친다. 이 경우StringBuffer와StringBuilder클래스는 기본적으로 동일한 클래스 이며 문자열을 결합하는데 유용하다. 두 클래스의 차이는멀티스레드에 안전하게 처리되었는지의 차이로StrinfBuffer의 경우Thread safe로 멀티스레드 처리에 안전하지만 성능이 저하될 수 있다. 따라서 멀티스레드 처리가 없는 프로그램이라면 StringBuilder 유리하다고 할 수 있다. import java.util.*; public class StringBuilder { public static void main(String[] args) {..
-
3. Java 문자열(String) 다루기프로그래밍언어/Java(초급) 2020. 3. 27. 02:25
안녕하세요 현우입니다. 이번 포스팅은 [ String (문자열)다루기 ] 입니다. reference https://docs.oracle.com/javase/8/docs/api/index.html Java Platform SE 8 docs.oracle.com 1. String 클래스의 인스턴스 생성 기존의 클래스들은 키워드 new을 이용해서 인스턴스를 생성 했지만, String의 인스턴스는 큰따옴표만으로도 생성이 가능하다 String str1 = "Hello World" 대입연산자(String str1) 의 왼편은 인스턴스 생성시 반환되는 참조값의 저장을 위한 참조변수 일뿐이고 실제 인스턴스 생성은 대입 연산자의 오른편에서 이루어진다 System.out.pringln("Hello JPA!"); printl..
-
1. BufferReader VS Scanner 차이점프로그래밍언어/Java(초급) 2020. 3. 27. 01:00
BufferReader : from JDK 1.1 Scanneer : from JDK 1.5 1. Scanner 은 버퍼리더 보다 훨씬 활용적이다. 스캐너는 정수 값으로 int, short, long, 소수값으로 float,double를 구분지어 읽어들일 수 있고 String 값도 읽을 수있다. 반면에 BufferReader은 문자열 String값 밖에 읽지 못한다. 2. BufferedReader은 Scanner에 비해 상당히 큰 버퍼를 차지한다. Scanner의 경우 (1KB) , BufferedReader은 (8KB) , 이것은 즉 긴 문자열이 포함된 파일을 읽을 시에는 BufferedReader을 추천하지만 내용이 짧을경우 Scanner을 사용하는 것을 추천한다. 3. BufferedReader은..