static변수 인스턴스 변수의 선언 앞에 static 선언이 오면 한클래스의 모든인스턴스가 static 변수를 공유한다. 빠른 이해를 위해 소스로 확인해보자 12345678910111213141516171819class Inst{ static int instNum = 0; public Inst() { instNum++; System.out.println("인스턴스 생성 : " + instNum); }} class ClassVar{ public static void main(String[] args) { Inst inst1 = new Inst(); Inst inst2 = new Inst(); Inst inst3 = new Inst(); }}Colored by Color Scriptercs 위 프로그램을 ..
이번엔 (13)포스팅에서 알아본DAO, DTO를 사용해회원인증 프로그램을 만들어보겠습니다. 먼저 파일들을 생성해 보겠습니다.패키지안에 MemberDAO.java, MemberDTO.java클래스 생성해 주도록 하겠습니다 다음 WebContent에 아래와같은파일들 생성하겠습니다js 파일은 file 생성후.js 붙여 주시면됩니다 다음 디벨로퍼에서 테이블 생성해주도록하겠습니다 이제 join 화면 먼저 보겠습니다 12345678910111213141516171819202122Insert title here 아이디 : 비밀번호 : 비밀번호 확인 : 이름 : 메일 : 주소 : Colored by Color Scriptercs join화면에서는 아이디, 비밀번호, 비밀번호확인,이름, 메일, 주소 form 태그만들어줬..
이번 글 은 메소드 오버로딩에 대해알아보겠습니다. 메소드 오버로딩은 대부분의 객체지향 언어가지원하는 문법적인 요소입니다이로 인해서 자바에서는 동일한이름의 메소드를 둘 이상 정의할 수 있습니다. 매개변수의 형(type)이 다르거나 개수가 다르거나 기본적으로 동일한 이름의 메소드는정의가 불가능하다고 생각할 것입니다.하지만 매개변수의 선언형태가 다르면동일한 이름의 메소드를 정의할 수 있습니다. 이를 가리켜 메소드 오버로딩이라고 합니다다음은 메소드가 오버로딩 된 예를 보여드리겠습니다 위의 클래스에는 총 세 개의 Func 메소드가정의되어 있습니다. 이렇게 하나의 클래스 안에세 개의 메소드가 정의될 수 있는 이유는 세 메소드상호간에 매개변수의 자료형, 매개변수 개수가다르기 때문입니다. 그렇다면 이렇게 동일한 이름의..
접근제어 지시자(Access Control Specifiers) private과 public 상황에 따라 지시자를 잘 사용해야 된다이들은 접근의 허용 범위를 제한하는용도로 사용이 된다JAVA가 제공하는 접근 제어 지시자는private, public, protected 이렇게세 가지이지만, 아무런 선언도 하지않는 경우까지 포함하여 총 네 가지의 형태의 접근제어선언이 가능하다 private으로 선언되는 인스턴스 변수와 메소드는선언된 클래스 내부에서만 접근이 가능하다반면 public 으로 선언이 되면public 라는 이름이 의미하듯이어디서든 접근이 가능한 인스턴스 변수및 메소드가 된다. 이에 대한 예를 들어보겠다 위 코드에서 클래스 AA의 변수 num은 private으로 선언되어있다.따라서 클래스 BB내에서의..
OOP란?객체지향프로그래밍 이다 (Object Oriented Programming) 우리 들이 프로그래밍을 개발 할때사용하는 언어인 JAVA는 완전한객체 지향 언어이다 우리가 JAVA에 대해 공부를하여프로그래밍을 개발하려면OOP에 대해 어느정도 머릿속에기억 시켜야 할 필요가있다 또한 OOP에 대해서는몇몇 회사에서 취업을 하려할때실제로 면접관들이 물어보기도 한다 OOP는 객체가 주가 되는 객체에 집중되는프로그래밍으로 크게 4가지의 특징을 가진다(캡술화, 추상화, 다형성, 상속성) OOP에대해 짧게 설명하면 "객체지향 프로그래밍이란 캡슐화, 다형성, 상속성, 추상화 등의4가지 특징을 이용해 코드 재사용을증가시키고 유지보수를 감소시키는 장점을 얻기 위해서객체들을 연결 시켜 프로그래밍 하는것 입니다." 캡슐화..
이번엔 커넥션 풀(DBCP) 에 대해알아보겠습니다. 클라이언트에서 다수의 요청이 발생할 경우DB에서는 부하가 발생됩니다이 문제를 막기위해 커넥션 풀(DataBase Connection Pool)을 이용합니다 먼저 커넥션 풀을 사용하기 위해선이클립스 좌측 서버의 context.xml 파일을수정해야합니다 아래 이미지와같이 데이터베이스연결을 위한 정보들을 입력합니다 다음 Ctrl + s 로 저장해주시면 끝납니다 이렇게 커넥션풀을 설정하면이전 (13) 포스팅에서 만든 DAO 파일이간결해집니다 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666..
이번엔 PreparedStatement 객체에대해 알아보겠습니다(11)(12)(13) 포스팅에서는SQL문 실행을 위해 Statement 객체를 이용했습니다Statement 객체의 경우 중복코드가 많아지는단점이 있습니다 이러한 단점을보완한 객체가 PreparedStatement 객체입니다 먼저 간단하게 PreparedStatement 객체사용법을 보겠습니다 12345678910Class.forName(driver);connection = DriverManager.getConnection(url, uid, upw);int n;String query = "insert into member(id, pw, name, phone) values (?,?,?)";preparedStatement = connection...
이번엔 DAO와 DTO 에대해 알아보겠습니다 DAO : Data Access ObjectDTO : Data Transfer Object DAO란 데이터 베이스에 접속해서데이터 추가, 삭제, 수정 등의 작업을하는 클래스 입니다. 일반적인 JSP 혹은 Servlet 페이지 내에서위의 로직들을 함께 쓸수 있지만유지보수 및 코드의 모듈화를 위해DAO 라는 클래스를 따로 만들어 사용합니다 DTO란 DAO클래스를 이용하여 데이터 베이스에서 데이터를 관리할 때 데이터를 일반적인 변수에저장하여 사용할수 있지만 해당 데이터의클래스를 만들어 사용 합니다. 먼저 이클립스에서 파일을 만들어실행 해보도록 하겠습니다 패키지에 MemberDAO.java, MemberDTO.java 클래스를만들어줍니다다음 WebContent에 me..
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.