✨ Java57 자바(JAVA) - MVC 패턴 (Model, View, Controller) MVC패턴이란? - 프로그램 개발 시 각각의 클래스 및 파일에 역할 분담. 즉, 하나의 애플리케이션, 프로젝트를 구성할 때 그 구성요소를 세가지의 역할로 구분한 패턴이다. 뿐만 아니라 비즈니스 로직의 재사용성이 높아지고, 확장성 또한 높아져 유지보수가 수월한 프로그램을 개발할 수 있는 장점을 가지고 있다. M : (business) model -> 핵심기능 -> class V : view를 담당 -> jsp C : controller -> servlet 동작 순서 사용자의 Action들은 Controller에 들어온다. Controller는 사용자의 Action을 확인하고, Model 을 업데이트 한다. Controller는 Model를 나타내줄 View를 선택한다. View는 Model을 이용하여 화면.. 2023. 2. 17. 자바(JAVA) - String 클래스 자바에서는 문자열을 위한 String이라는 클래스를 별도로 제공한다. String 클래스에는 문자열과 관련된 작업을 할 때 유용하게 사용할 수 있는 다양한 메소드가 포함되어 있다. String 인스턴스는 한 번 생성되면 그 값을 읽기만 할 수 있고, 변경할 수는 없다. 이러한 객체를 자바에서는 불변 객체(immutable object)라고 한다. 즉, 자바에서 덧셈연산자를 이용하여 문자열 결합을 수행하면, 기존 문자열의 내용이 변경되는 것이 아니라 내용이 합쳐진 새로운 String 인스턴스가 생성되는 것이다. String 클래스의 객체 생성 방법 첫번째, HTML 삽입 미리보기할 수 없는 소스 문자열이 동일하면 새로운 객체를 만들지 않고, 메모리 공간을 낭비하지 않도록 같은 데이터를 참조한다. 두번째, .. 2023. 2. 15. 자바(JAVA) - 인터페이스 (Interface) 학생 점수 인터페이스는 혼자 작업하는 것이라면 굳이 쓸 필요가 없다는 것을 알 수 있다. 결국 클래스를 이용하여 Main메소드에서 호출하는 것은 클래스와 별반 다를게 없지만, 마지막으로 한번만 더 연습해보고자한다. StudentUtil.Interface HTML 삽입 미리보기할 수 없는 소스 요구사항이 담긴 인터페이스 파일을 받아왔다. 이제 이 요구사항을 토대로 클래스의 이름과 매개변수를 지정해주자. Student.class HTML 삽입 미리보기할 수 없는 소스 학생 정보를 담을 클래스를 선언해주고 세팅했다. StudentTest.class HTML 삽입 미리보기할 수 없는 소스 요구사항을 처리할 인터페이스에서, 받아올 Override 기능들을 만들어 주었다. RunStudent (Main 메소드) HTML 삽입.. 2023. 2. 15. 자바(JAVA) - 인터페이스 (Interface) 연산과 배열 연산 MathUtil.interface HTML 삽입 미리보기할 수 없는 소스 MathUtil 인터페이스를 하나 생성하였다. 이것은 회사가 제시한 요구사항과도 같다. 메소드 이름과, 매개변수를 몇개 사용할지 이러한 것들은 개발자마다 다 정하는 방식이 다르다. 즉, 모든 개발자가 이러한 메소드로 생성하라는 의미로 통일시켜주기 위해 사용하는 것이다. MyMath.class HTML 삽입 미리보기할 수 없는 소스 MathTest (Main 메소드) HTML 삽입 미리보기할 수 없는 소스 배열 MyArrayUtil.interface HTML 삽입 미리보기할 수 없는 소스 MyArray.class HTML 삽입 미리보기할 수 없는 소스 MyArrayTest (Main메소드) HTML 삽입 미리보기할 수 없는 소스.. 2023. 2. 15. 자바(JAVA) - 컬렉션프레임워크 List와 Map 같이쓰기 Student 2023. 2. 15. 자바(JAVA) - 컬렉션프레임워크 Map Map의 가장 중요한 점은 Set과 List와 달리 안에 두가지 자료형을 받는다는 것이다. Map( K , V ) 와 같은 방법으로 쓴다. K= 키, V = 값을 저장한다. HTML 삽입 미리보기할 수 없는 소스 K의 값이 중복되면 값은 마지막에 저장한 값 하나만 출력할 수 있다. HTML 삽입 미리보기할 수 없는 소스 map에 저장된 모든 키 정보를 조회하려면, keySet( ) 을 사용해야한다. keySet( ) 은 map에 저장된 키들을 set형태로 반환할 수 있다. 2023. 2. 15. 자바(JAVA) - 컬렉션프레임워크 Set List : 데이터의 순번이 존재하고, 중복이 가능하다. Set : 데이터의 순번이 없고, 중복이 불가하다. Set은 List와 다르게 중복이 불가능하여 잘 사용하지 않는다. 하지만 유용한 기능도 있어 알아두고 사용할 곳이있다면 좋을 것 같다. Set에는 HashSet과 TreeSet이 있다. 요약하자면 - Set이란 순서가 없는 집합체이며, 중복을 허용하지 않는다. - TreeSet은 HashSet과 다르게 그 값이 정렬되어 저장이 되지만, 그렇기 때문에 HashSet보다 속도가 느리다. HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 데이터를 삽입후 foreach문을 돌려 데이터를 출력해보았다. 중복이 불가능하기 때문에 데이터 삽입 과정에서 받아온 python 두개는 하.. 2023. 2. 15. 자바(JAVA) - ArrayList 이용해 회원 관리 시스템 만들기 (1) 회원등록, (2) 회원정보조회, (3) 모든회원정보조회, (4) 회원삭제, (5) 회원비밀번호변경 컬렉션프레임워크의 ArrayList를 이용하여 회원관리 시스템을 만들어보았다. Member1 HTML 삽입 미리보기할 수 없는 소스 변수 id, name, pw 를 자료형 String으로 생성 후 매개변수를 갖는 생성자를 만들었다. 이후 값을 저장하고 초기화할 수 있도록 세터와 게터를 만들었다. 출력될 정보를 쉽게 toString( )을 이용해 만들어주었다. MemberManage HTML 삽입 미리보기할 수 없는 소스 코드가 굉장히 길다. 하나하나 살펴보자. MemberManage 클래스에서 변수를 입력할 Scanner와 Member1클래스 정보가 담긴 List를 선언하였다. 생성자에서 변수로 선언.. 2023. 2. 15. 자바(JAVA) - 컬렉션프레임워크 ArrayList 컬렉션 프레임워크의 종류 - 데이터를 읽고 쓰는 방식에 따라 크게 4가지를 제공한다. - Set, List, Queue, Map 인터페이스 List 인터페이스를 구현하여 제공하는 ArrayList를 소개하려고한다. List 인터페이스를 구현하여 제공하는 클래스 2종 => ArrayList와 LinkedList List : 데이터의 순번이 존재하고, 중복이 가능하다. 이에 비해, 나중에 소개할 인터페이스 Set : 데이터의 순번이 없고, 중복이 불가하다. ArrayList 데이터가 여러개 저장될 수 있는 통을 생성. 같은 자료형의 데이터만 들어갈 수 있다. 문자열 객체를 생성하는 방법 HTML 삽입 미리보기할 수 없는 소스 ArrayList list = new ArrayList(); 이와 같이 작성해도 무.. 2023. 2. 15. 자바(JAVA) - toString( )과 Object클래스 toString( ) 과 Object 클래스에 대해서 공부하며 추가적으로 몇가지 알아보았다. Object 클래스는 모든 클래스의 최상위 클래스로 모든 클래스는 Object 클래스를 상속받는다. 따라서, 당연히 toString( ) 메소드 또한 Object의 상속을 받아 사용된다. ToStringTest.class 2023. 2. 13. 자바(JAVA) - OverLoding 오버로딩과 Overriding 오버라이딩 (상속) 부모 클래스의 모든 메소드가 자식 클래스에게 맞게 설계되어 있다면 가장 이상적인 상속이지만, 어떤 메소드는 자식 클래스가 사용하기에 적합하지 않을 수 있다. 이러한 메소드는 자식 클래스에서 재정의해서 사용해야한다. 이것을 오버라이딩(Overriding)이라고 한다. 즉, 오버라이딩(Overriding)이란 ? 상속 관계에 있는 부모 클래스에서 이미 정의된 메소드를 자식 클래스에서 같은 시그니쳐를 갖는 메소드로 다시 정의하는 것이다. 오버라이딩(Overriding)은 상속 관계뿐만 아니라 인터페이스와 추상 클래스와 같은 다른 상속 관련 개념에서도 사용될 수 있다. 오버라이딩은 상속 관계에 국한되지 않고, 인터페이스(interface)와 추상 클래스(abstract class)와 같은 다른 개념에서도 사용될.. 2023. 2. 13. 자바(JAVA) - 상속(Inheritance) -2 두가지의 예시로 상속에 대해 좀 더 알아보려고 한다. 첫번째로, 동물을 부모클래스로 강아지와 고양이를 예로 들어보았다. Ani.class Cat.class Puppy.class HTML 삽입 미리보기할 수 없는 소스 Cat은 Ani의 자식클래스이고, Puppy도 Ani의 자식클래스이다. 그렇다면 5마리의 동물을 각각 저장할 수 있을까? AnimalManage HTML 삽입 미리보기할 수 없는 소스 1. Ani 클래스로 cages[ ] 라는 배열을 만들어 Ani객체에 5개의 공간을 생성해주었다. Ani는 puppy와 cat 모두 수용할 수 있는 부모 클래스이므로 cages[ ]에 cat이나 puppy 모두 담을 수 있다. 2. cages[ 0 ] , 첫번째 공간에 고양이 한마리를 집어넣고, cages[ 1.. 2023. 2. 13. 이전 1 2 3 4 5 다음