본문 바로가기

Dev/Java35

자바빈(JavaBean) 자바빈은 데이터를 표현하는 것을 목적으로 하는 자바 클래스이다. 1. 자바빈 프로퍼티 프로퍼티(속성)는 자바빈에 저장되어 있는 값을 나타내며, 메서드 이름을 사용해서 프로퍼티의 이름을 결정하게 된다. 예를 들어, 프로퍼티의 이름이 maxAge고 값이 int 타입일 경우 프로퍼티와 관련된 메소드의 이름은 public void setMaxAge(int value); //setter public int getMaxAge(); //getter 프로퍼티의 값을 설정하는 메서드의 경우 프로퍼티의 이름 중 첫 글자를 대문자로 변환한다. (maxAge -> MaxAge) 프로퍼티의 값이 boolean 타입일 경우 get 대신 is를 사용할 수 있다. 예를 들어, 프로퍼티의 이름이 finished고 값이 boolean .. 2022. 9. 2.
include 디렉티브 ㅋhttps://tavi.tistory.com/19?category=1086720 액션 태그 한 웹 사이트를 구성하는 페이지들은 동일한 상단 메뉴와 좌측 메뉴 그리고 하단 푸터(footer)를 갖는 경우가 많다. 액션 태그와 include 디렉티브를 사용하면 이런 공통 화면을 모듈화 해서 코드가 tavi.tistory.com include 디렉티브도 와 마찬가지로 지정한 페이지를 현재 위치에 포함 시켜 주는 기능을 제공한다. 하지만 include 디렉티브는 포함되는 방식에 있어 큰 차이를 보이는데 는 다른 JSP로 흐름을 이동시켜 그 결과물을 현재 위치에 포함 시키는 반면, include 디렉티브는 다른 파일의 내용을 현재 위치에 삽입한 후에 JSP 파일을 자바 파일로 변환하고 컴파일 하는 방식이다. 액.. 2022. 9. 1.
<jsp:include> 액션 태그 한 웹 사이트를 구성하는 페이지들은 동일한 상단 메뉴와 좌측 메뉴 그리고 하단 푸터(footer)를 갖는 경우가 많다. 액션 태그와 include 디렉티브를 사용하면 이런 공통 화면을 모듈화 해서 코드가 중복 되는 것을 방지할 수 있다. 1. 액션 태그를 이용한 페이지 모듈화 액션 태그는 지정한 페이지를 태그가 위치한 부분에 포함 시킬 때 사용 된다. 사진을 기준으로 설명하면 main.jsp가 웹 브라우저의 요청을 받는다. 출력내용 A를 출력 버퍼에 저장 가 실행되면 요청 흐름을 sub.jsp로 이동시킴 출력내용 B를 출력 버퍼에 저장 sub.jsp의 실행이 끝나면 요청 흐름이 다시 main.jsp의 로 돌아옴 이후 부분인 출력내용 C를 출력 버퍼에 저장 출력 버퍼의 내용을 응답 데이터로 전송 즉 액션 .. 2022. 9. 1.
객체 지향 프로그래밍 객체 지향 프로그래밍(OOP: Object Oriented Programming)이란 현실 세계에서 어떤 제품을 만들 때, 부품을 먼저 개발하고 이 부품들을 하나씩 조립해서 완성된 제품을 만들 듯, 소프트웨어를 개발할 때도 부품에 해당하는 객체들을 먼저 만들고, 이것들을 하나씩 조립해서 완성된 프로그램을 만드는 기법이다. - 객체(Object): 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중 자신의 속성을 가지고 있고 다른 것과 식별 가능한 것 객체는 속성과 동작으로 구성 되어 있다. (ex. 사람 - (속성)이름, 나이 등 / (동작)웃다, 먹다 등) 자바는 이 속성과 동작들을 각각 필드(field)와 메소드(method)라고 부른다. - 객체 지향 프로그래밍의 특징 : 캡슐화, 상속, 다형성.. 2022. 8. 26.
12. 그룹 알고리즘 (Group Algorithm) //[?] 컬렉션 형태의 데이터를 특정 키 값으로 크룹화 import java.util.Arrays; import java.util.ArrayList; import java.util.List; public class GroupAlgorithm2 { /** * 테스트용 레코드 클래스 */ public static class Record { private final String name; // 상품명 private final int quantity; // (int: 상수) 수량 public Record (String name, int quantity) { this.name = name; this.quantity = quantity; // 초기화 } // name, quantity의 속성 만들기 => get .. 2022. 8. 8.
11. 최빈값 알고리즘(Mode Algorithm) //[?] 주어진 데이터에서 가장 많이 나타난(중복된) 값 /** * 최빈값 알고리즘(Mode Algorithm): 점수 인덱스(0점~100점)의 개수(COUNT)의 최댓값(MAX) */ public class ModeAlgorithm { public static void main(String[] args) { //[1] Input int[] scores = { 1, 3, 4, 3, 5 }; // 0~5까지만 들어온다고 가정 int[] indexes = new int[5 + 1]; // 0~5까지: 점수 인덱스의 카운터 int max = Integer.MIN_VALUE; // MAX int mode = 0; // 최빈값이 담길 그릇 //[2] Process for (int i = 0; i < scores.. 2022. 8. 8.