본문 바로가기

자바

(9)
[스프링] 오브젝트 설계와 제어의 역전 스프링은 자바를 기반으로 한 기술이자, 자바 엔터프라이즈 어플리케이션 개발에 사용되는 프레임워크이다. 어플리케이션 프레임워크는 어플리케이션 개발을 빠르고 효율적으로 할 수 있도록 어플리케이션의 바탕이 되는 틀과 공통 프로그래밍 모델, API 등을 지원해준다.스프링이 자바에서 가장 중요하게 가치 두는 것은 객체지향 프로그래밍이 가능한 언어라는 점이다. 특히, 그 중에서도 오브젝트에 가장 많이 관심을 둔다.어플리케이션에서 오브젝트가 생성되고, 다른 오브젝트와 관계를 가지는지 등은 스프링에서의 객체 지향에서 가장 중점적인 내용이다. 스프링은 다음 세 가지 핵심 프로그래밍 모델을 지원한다.IOC/ DI : 오브젝트의 생명 주기와 의존관계에 대한 프로그래밍 모델서비스 추상화 : 환경이나 서버, 특정 기술에 종속되..
[Java 자료구조] 이중연결리스트(Double LinkedList) 구현 이중연결리스트 :: Double LinkedList이중연결리스트란, 단순연결리스트 구조에서, 바로 이전 노드를 가리키는 prev 포인터가 추가된 구조라고 생각하면 이해가 쉽다. 역시나 head 포인터가 맨 처음에 저장된 노드를, tail 포인터가 맨 마지막에 저장된 노드를 가리키는 형식이며, head와 tail은 '포인터'의 형태로 일반노드처럼 필드(prev | data | next)가 존재한다고 생각하면 안된다. 이중연결리스트의 장점이중연결리스트의 큰 장점은 양방향 연결 구조이기 때문에 노드를 탐색하는 방향도 양방향이라는 데에 있다. 단순연결리스트의 경우는, 맨 마지막에 위치한 데이터를 탐색하기 위해서 head에서부터 시작하여 순차적으로 방문하며 탐색하지만이중연결리스트의 경우는 그럴 필요가 없다. 이중..
[백준 11654번] 자바로 주어진 글자의 아스키코드 출력하기 문제알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드 값을 출력하는 프로그램을 작성하시오 입력알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다. 출력입력으로 주어진 글자의 아스키 코드 값을 출력한다. 코드123456789101112131415161718192021import java.util.*; public class SolvingProblem { public static void main(String args[]) { Scanner s = new Scanner(System.in); char inputchar = s.next().charAt(0); System.out.println(Integer.valueOf(inputchar)); }} /*---..
Java Collection Framework :: 자바의 자료구조 (List, Set, Map) Java Collection Framework(JCF): Java에서 데이터를 저장하는 자료구조들을 한 곳에 모아 편리하게 관리하고 사용하기 위해 제공하는 것. 크게 List, Set, Map으로 구분할 수 있다.이번 포스팅에서는 각각이 사용할 수 있는 메소드보다는 대략적인 큰 그림을 정리하기에 집중할 것이고 (메소드는 구글링만 해도 충분히 쉽게 찾아낼 수 있다. ), 몇개의 자료구조를 뽑아 설명해보겠다. List 인터페이스와 Set 인터페이스를 설명하기 이전에 알고 넘어가야할 점은, 컬렉션은 기본 데이터형이 아닌, 참조 데이터형만 저장이 가능하다는 것이다. 따라서 Collection에서의 데이터는 Object 타입의 객체로서 저장이 되는 것인데, 그렇다면 여기서 기본 데이터형은 어떻게 저장하고 관리할 ..
명품 java programming open challenging : 상속 관계의 클래스 작성(ProductInfo) 다음 그림과 같은 클래스 구조를 가진 자바 프로그램을 작성하겠다. 각 클래스에는 반드시 들어가야하는 필드들이 있고, main()에서는 최대 10개의 상품을 추가할 수 있으며 모든 상품의 정보를 조회할 수 있다. 모든 제품에 대한 정보를 출력할 때 Product 타입의 레퍼런스를 이용한다. Product class : 각 상품의 고유한 식별자, 상품 설명, 생산자, 가격정보Book class : ISBN 번호, 저자, 책 제목 정보CompactDisc : 앨범 제목, 가수 이름ConversationBook : 언어명 정보 *객체 지향 개념에 부합하도록 적절한 접근 지정자, 필드, 메소드, 생성자 등을 작성한다. 12345678910111213141516171819202122232425262728293031..
명품 java programming 실습문제: 계산프로그램, 공연 예약 시스템 실습문제5. 더하기(+), 빼기(-), 곱하기(*), 나누기(/)를 수행하는 각 클래스 Add, Sub, Mul, Div와 main() 메소드를 담은 클래스를 만들어, 계산을 수행하는 프로그램을 짜보자. main() 메소드에서는 키보드로부터 두 정수와 계산하고자 하는 연산자를 입력받아, 객체생성을 통해 연산을 수행하여 결과를 출력한다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510..
명품 java programming open challenging : 끝말잇기 게임 만들기 n명이 참가하는 끝말잇기 게임 프로그램을 만들겠다. 1) 프로그램에서 설정한 처음 단어는 '아버지' 이다. 2) 참가자들은 순서대로 자신의 단어를 입력한다. 3) 끝말잇기에서 끝말이 틀린 경우 게임을 끝내고 게임에서 진 참가자를 화면에 출력한다. 4) main을 품은 WordGameApp 클래스와 Player 클래스로 구현한다. Player 클래스는 게임 참가자의 이름 필드와 사용자로부터 단어를 입력받는 메소드, 끝말잇기에 성공하였는지, 게임을 계속하는지를 판별하는 메소드를 담는다. 5) main 메소드에서 Player [] 배열을 생성한다. 6) 쉬운 코드를 지향한다. 123456789101112131415161718192021222324252627282930313233343536373839404142..
명품 java programming 실습문제 : 반복문과 배열 그리고 예외처리 실습문제 7. 4x4의 2차원 배열을 만들고, 이곳에 1에서 10까지 범위의 정수를 랜덤하게 생성하여 정수 16개를 배열에 저장하고, 2차원 배열을 화면에 출력하라. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import java.util.Random; public class Makingarray{ public static void main(String[] args) { int [][] intArray = new int[4][4]; //배열 생성 for(int i=0; i