티스토리 뷰
전자정부프레임워크나 일반적인 자바 프로젝트에서 가장 자주 보게 될 메서드 선언부입니다. 이 한 줄에는 자바의 핵심 규칙들이 압축되어 있습니다.
구조를 하나씩 뜯어보며 설명해 드릴게요.
1. 구조 분석 (문법적 의미)
Java
public String selectUser(UserVO vo) { ... }
- public (접근 제어자): "누구나 이 메서드를 부를 수 있다"는 뜻입니다. 서비스(Service)가 이 메서드를 호출하려면 반드시 공개되어 있어야 하죠.
- String (반환 타입): 이 메서드가 할 일을 다 끝내고 나면, 호출한 사람에게 "문자열(String)" 데이터를 결과값으로 돌려주겠다는 약속입니다. (예: 성공 시 "success", 실패 시 "fail")
- selectUser (메서드명): 이 기능의 이름입니다. 보통 "동사+명사" 형태로 짓습니다.
- (UserVO vo) (매개변수/파라미터): 이 메서드가 일을 하기 위해 필요한 재료입니다.
- UserVO: "UserVO라는 모양의 상자에 담긴 데이터를 가져와라" (타입)
- vo: 그 상자를 이 메서드 안에서는 vo라고 부르겠다는 뜻입니다. (변수명)
2. 실무적 흐름 (데이터 전달)
사용자가 화면에서 ID와 비밀번호를 입력하고 "조회" 버튼을 눌렀다고 가정해 봅시다.
- 데이터 담기: 사용자가 입력한 값들이 UserVO라는 객체의 바구니에 차곡차곡 담깁니다.
- 전달: selectUser(vo)를 호출하면서 그 바구니를 통째로 메서드에 던져줍니다.
- 사용: 메서드 안에서는 vo.getUserId() 같은 코드로 바구니 안의 데이터를 꺼내서 SQL 쿼리에 집어넣습니다.
3. 왜 UserVO를 통째로 받나요?
만약 회원 정보가 20개라면, 메서드를 만들 때 selectUser(String id, String pw, String name, String addr ...)처럼 20개의 변수를 일일이 적어야 할까요?
- 비효율적입니다: 변수가 너무 많으면 관리하기 힘들고 실수하기 쉽습니다.
- VO의 장점: 관련 있는 데이터들을 **하나의 묶음(객체)**으로 만들어서 전달하면 코드가 훨씬 깔끔해지고, 나중에 항목이 추가되어도 메서드 선언부를 수정할 필요가 없습니다.
4. 메서드 내부 로직 예시
이 메서드 안에서는 보통 이런 일들이 벌어집니다.
Java
public String selectUser(UserVO vo) {
// 1. 재료 확인 (검증)
if (vo.getUserId() == null) {
return "ID_EMPTY"; // ID가 없으면 바로 종료하고 결과 보고
}
// 2. 실제 DB 조회 (DAO 호출)
UserVO result = userDAO.selectUserDetail(vo);
// 3. 결과에 따른 처리
if (result != null) {
return "SUCCESS";
} else {
return "NOT_FOUND";
}
}
요약하자면
"이 메서드는 UserVO라는 데이터 꾸러미를 받아서 조회를 수행한 뒤, 그 결과를 문자열(String)로 알려주는 기능입니다."
※ 해당 내용은 Google Gmini3.0에서 작성되었습니다.
'WEB > 자바' 카테고리의 다른 글
| 자바 코딩의 첫걸음인 **1단계: 기본 문법(기초 체력) (0) | 2026.03.25 |
|---|---|
| 자바 코딩을 배우는 과정 4단계 (1) | 2026.03.25 |
| .do 를 제거하고 보여주는 경우에 특별한 이유가 있을까요? (0) | 2026.03.25 |
| 전자정부프레임워크(eGovFrame) 3.0 버전 (0) | 2026.03.25 |
| @SpringBootApplication나 메인머서드 없을 수도 있나요? 전자정부프레임워크 입니다. (0) | 2026.03.25 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 테스크탑무선랜카드 #무선랜카드 #아이피타이무선랜카드 #a3000mini #무선랜카드추천
- 바지락칼국수 #월곡동칼국수 #칼국수맛집
- 정보처리기사 #정보처리기사요약 #정보처리기사요점정리
- 증폭기 #아이피타임증폭기
- 파비콘 #파비콘 사이트에 적용
- echart
- 무료폰트 #무료웹폰트 #한수원한돋움 #한수원한울림 #한울림체 #한돋움체
- 파비콘사이즈
- 연명의료결정제도 #사전연명의료의향서 #사전연명의료의향서등록기관 #광주사전연명의료의향서
- jdk #jre
- 자바스크립트정규표현식
- jQuery #jQuery이미지슬라이드 #이미지슬라이드
- thymeleaf
- 자바스크립트countiue
- 광주분식 #광주분식맛집 #상추튀김 #상추튀김맛집 #광주상추튀김
- 쇼팬하우어 #좋은책
- 탭메뉴자바스크립트
- 와이파이증폭기추천 #와이파이설치
- 좋은책
- lg그램pro #lg그램 #노트북 #노트북추천 #lg노트북
- 자바스크립트 #javascript #math
- sw기술자평균임금 #2025년 sw기술자 평균임금
- iptime와이파이증폭기 #와이파이증폭기설치
- 자바스크립트break
- css미디어쿼리 #미디어쿼리 #mediaquery
- SQL명령어 #SQL
- // 사진직: 데이터가 없으면 DEFAULT_IMG 사용 const profileSrc = (d.img && d.img !== "") ? d.img : DEFAULT_IMG;('#user-photo').attr('src'
- 좋은책 #밥프록터 #부의원리
- ajax
- 썬크림 #닥터지썬크림 #내돈내산 #내돈내산썬크림 #썬크림추천 #spf50썬크림 #닥터지메디유브이울트라선
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
글 보관함

