본문 바로가기

자바

(8)
java.net.InetAddress를 활용한 IP주소 구하기. Java-standalone에서 간단한 로직을 구현하다보니 시스템의 IP주소를 출력할 일이 있었다. Web기반에서 Request객체를 통해 요청자의 IP주소를 뽑아낸 적은 있지만정작 내 시스템의 IP주소를 뽑아내본 적은 없었다.-_-; 검색해보니 JDE 자체에서 지원하는 클래스를 통해 간단히 IP주소를 뽑을 수 있어 기록해본다. 기본적으로 try / catch 문으로 예외처리를 해주어야하며, 결과값은 다음과 같이 출력된다. 동일하게 출력된다. :)
java.util.UUID API를 활용한 랜덤아이디 만들기. UUID(Universally unique identifier), 범용 고유 식별자. 소프트웨어 구축에 쓰이는 식별자 표준으로,개방 소프트웨어 재단(OSF)이 분산 컴퓨팅 환경(DCE)의 일부로 표준화..같은 내용은 궁금한 사람만 위키피디아에서 살펴보도록 하고 (링크) 프로젝트에서 사용자에게 임시비밀번호를 부여하는 로직에서Java에서 지원하는 UUID 기능을 사용해 볼 기회가 있었다. 관리자가 기존 회원의 비밀번호를 임시비밀번호로 교체하는 로직을 호출하면해당 사용자의 비밀번호를 UUID로 변경하고, 사용자의 이메일로임시비밀번호 변경페이지로 이동가능한 HTML링크를 전송해주는 방식이다.메일발송기능도 충분히 재미있지만, UUID도 충분히 중요하고 짧으니까 먼저 기록해두려한다. 기본적인 UUID의 생성은 간단..
org.apache.commons.email 라이브러리를 활용한 메일 발송 기능. 프로젝트 진행 중 메일발송 기능을 만져볼 기회가 있었다.이전 다른 프로젝트에서 메일발송을 구현했던 선배님께 조언을 구해아파치 커먼즈에서 지원하는 메일 라이브러리를 통해 구현하게 되었다. 기본적으로 org.apache.commons.mail.Email 익명클래스를 상속받아SimpleEmail, MultipartEmail, HtmlEmail 등의 클래스를 구현하게 된다.(HtmlEmail클래스의 경우는 정확히는 MultipartEmail클래스를 상속받음) 파일첨부메일의 경우 org.apache.commons.mail.EmailAttatchment클래스를 별도로 구현하여MultipartEmail클래스를 .send()메서드로 발송 직전 .attatch()메서드로 붙여주면 됨. SimpleEmail의 경우 실제로..
가변인자 (varargs : Variable Arguments) 멘토과장님께서 참고하라고 소스를 주셨는데, 희한한 형태의 코드가 보였다. .. 무엇인가 이 요상한 형태의 인자는; String[] 도 아니고 String도 아니고 String... ?"요거이 대체 뭐당가요" 부시맨처럼 묻는 내게 과장님은 이렇게 대답해주셨다. ㄴ..넵 알겠습니다! 구글링하니 Variable Arguments. 가변인자 라고 한다.ArrayList를 사용하자니 인자가 너무 적고, 배열을 사용하자니 인자의 갯수를 예측하기 힘들다.이럴때 가변인자를 사용한다. 인자의 자료형과 변수명 사이에 점 3개(...)을 넣어준다. void varargs(String... params) 결국 위 코드의 getFilePath()메서드는 인자로 filePath와 filePath2를 받아순서대로 경로를 체크하여 ..
2013.01.10. Java 상속, 예외처리 2013.01.10. Java 상속, 예외처리 상속 (Inheritance)- 기존의 클래스에서 신분(클래스)과 자원(변수, 메서드)를 받아 확장, 새로운 클래스를 만드는 것.- 부모를 상속한 클래스에서 객체를 생성할 경우 부모 클래스가 먼저 호출된다. 곧, 부모 클래스의 default생성자가 먼저 호출된다.(클래스는 언제 부모 클래스로 지정될 지 모르므로 언제나 default생성자를 만들어두는 것이 좋다.) ※ super함수 : 부모 클래스의 생성자를 호출해서 멤버 변수를 초기화하기 위한 호출 구문super함수를 통한 부모 클래스 생성자 호출의 예) Account(String accountNo, String ownerName, int balance) { this.accountNo = accountNo;..
2013.01.09. Java Constructor, 변수캡슐화, Static, 상수 2013.01.09. Java Constructor, 변수캡슐화, Static, 상수 클래스 내 기본생성자 외 다양한 생성자가 필요한 이유와 주의사항- 객체간 초기화하고자 하는 파라미터가 다를 수 있기 때문에.ex: 회원가입시 필수정보 외 선택적으로 입력하는 추가정보들.- 중복되는 파라미터의 경우 파라미터의 데이터타입과 그 개수가 일치해야함.- OverLoad : 하나의 클래스 안에 클래스명이 동일한 메서드를 선언하는 행위. Default 생성자 : 클래스에서 생성자가 존재하지 않을 경우 JVM(Java Virtual Machine)에 의해 default생성자가 자동으로 생성된다. 단, 클래스에 파라미터를 받는 생성자가 존재할 경우 default생성자는 자동으로 생성되지 않는다. 이 경우 에러가 발생하므..
2013.01.07. Java Method, Constructor 2013.01.07. Java Method, Constructor 기존의 프로그래밍 언어 (ex: c언어)- 절차지향적 프로그래밍- 정의된 절차를 따라 기능을 통과하는 데이터들 자바 (Java)- 자바는 객체지향 프로그래밍 언어(Object Oriented Programming Language).- 다양한 상호작용을 주고받는 독립적인 개체가 가득한 현실세계를 모방, 즉 독립적인 객체간의 상호작용이 이루어지는 구조. 객체란? (Object)- 정적인 특성과 동적인 기능으로 구분지을 수 있는 것. 이 두 가지에 의해 별개의 객체로 구분됨.- 공통된 데이터 구조와 기능을 추출하는 과정을 객체의 추상화작업이라 한다. 클래스란? (Class)- 개발자가 활용하기 위해 객체의 모양으로 만들어낸 틀. 필연적으로 객체..
2013.01.03. Java Method, Array 2013.01.03. Java Method, Array Java Resource : 변수, 메서드 → 객체 → 클래스 → Package → Application변수 : 데이터 값을 담기 위한 그릇메서드 : 변수를 사용하기 위한 기능 (특정한 데이터를 특정한 결과물로 도출하기 위한 기능을 수행)메서드 구성 Tip) ① 도출하려는 결과값을 생각한다. ② 요구되는 데이터값을 생각한다. ③ 어떻게 기능을 구현할 것인가 생각한다. Method 메서드의 형식 9메서드의 예 접근제어자 static 데이터리턴형 메서드명 (인자들 arguments parameters) {… 메서드 내용 … } public int getAverage(int sum) {int average = sum / 3;return average; }..