수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • C언어
    • 비주얼베이직
  • 결혼생활
    • 출산/육아
    • 결혼준비
    • 엄마이야기방
  • 일상생활
    • 면접
    • 취업
    • 진로선택
  • 교육
    • 교육일반
    • 아이교육
    • 토익
    • 해외연수
    • 영어
  • 취미생활
    • 음악
    • 자전거
    • 수영
    • 바이크
    • 축구
  • 기타
    • 강아지
    • 제주도여행
    • 국내여행
    • 기타일상
    • 애플
    • 휴대폰관련
  • 프로그램 개발일반
  • C언어
  • 비주얼베이직

안녕하세요... 자기참조 관련 질문입니다..

핫레드

2023.04.01

import java.io.*;
import java.text.*; //날짜관련 API
import java.util.*;//날짜 관련 API
class JBank { //JBank 클래스
private String name;// 멤버 필드
private double money;// 멤버 필드
private String date;// 멤버 필드
private static float interest;// 멤버필드
private static BufferedReader in;// 멤버필드
private static SimpleDateFormat format; // 멤버필드
private static String pass;//멤버필드
static {
interest = 5;
in = new BufferedReader(new InputStreamReader(System.in));
format = new SimpleDateFormat(yyyy년 MM월 dd일 HH시 mm분);
pass = 1111;
} // 지정예약어 static초기화

private JBank next; //이부분을 잘모르겟습니다 인터넷도 찾아보고 책도찾아밧는대 자기참조 라는말만있는대 정확이 next 가무었인지 잘모르겟습니다..이부분이 궁금합니다

public void open_account() throws IOException { //신규가입
System.out.println(== 신규 가입 ==);
System.out.print(이름 = );
name = in.readLine();
System.out.print(입금 금액 = );
money = Double.parseDouble(in.readLine());

date = format.format(new Date());
System.out.println();
System.out.println(신규 가입이 + date + 에 처리 되었습니다.);
System.out.println(입금한 금액은 + money + 원 입니다.);
System.out.println(현재 적용 이율은 + JBank.interest + %입니다.);
System.out.println(== 신규 가입 끝 ==);

money += money * JBank.interest / 100;
this.setNext();//이부분도 next 랑 관련돼있는거같은데.. 정확한개념을 모르겠습니다..
}

public static void change_interest() throws IOException {
System.out.print(관리자 패스워드를 입력하세요 : );
String pw = in.readLine();
if(!pw.equals(pass)) {//equals(인터넷으로 찾아보니 == 과 비슷한 기능이라고하던데 객체끼리의 비교라는걸로알고있는데 제가 잘알아본건지 궁금합니다
System.out.println(패스워드가 올바르지 않습니다.);
return;
}
System.out.println(현재 + JBank.interest + %의 이율이 적용되고 있습니다. 얼마로 변경 하시겠습니까?);
System.out.print(적용 이율 = );
JBank.interest = Float.parseFloat(in.readLine());
System.out.println(모든 고객에게 + JBank.interest + %로 변경 적용됩니다.);
}

public void view_account() {
System.out.println(== 현재 등록 고객 정보 ==);
System.out.println(이름\t금액\t이율);
System.out.println(==============================);
JBank custom = this;//이것도 next와 관련대이었는 부분같은데 정확하게모르겟습니다.. 여기서 this 어떤것을 의미하는지도 잘모르겟습니다..
while(custom.next != null) {//next가 몬지알아야 이해하는데..ㅠㅠ
System.out.print(custom.name + \t);
System.out.print(custom.money + \t);
System.out.println(JBank.interest);
custom = custom.next;//이부분도입니다..ㅠㅠ
}
System.out.println(==============================);
}

public static void end_bank() {
System.out.println(은행 영업을 마감합니다. 수고하셨습니다.);
System.exit(0);
}

public JBank getNext() {//next가 어떤값을 보내는지 잘모르겟습니다
return next;
}
private void setNext() {
next = new JBank();//next란 개념을 잘모르겟습니다
}
}
public class JBank_Process {
public static void main(String[] ar) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
JBank bank = new JBank();
while(true) {
System.out.print(1.신규가입 2.이율변경 3.등록인원정보 4.종료 == );
int pos = Integer.parseInt(in.readLine());
if(pos == 1) {
JBank jb = bank;
if(jb.getNext() != null) {
jb = jb.getNext();
}//next 를 파악을못해 if(==1)부분부터 이해가 안갑니다
jb.open_account();
}
else if(pos == 2) {
JBank.change_interest();
}
else if(pos == 3) {
bank.view_account();
}
else if(pos == 4) {
JBank.end_bank();
}
else {
System.out.println(잘못 입력 하셨습니다.);
}
System.out.println();
}
}
}
==================================================================================================================
너무 무책임하게 물어본거아닌가라는 생각도 드는대..책도 찾아보고 인터넷도 찾아보았습니다..
인터넷에는 자기참조구조체라고나왔는데 C++ 관련 바게 없는거같습니다 가장궁금한건 next 가 무었인지 궁금합니다
클래스도 아니인거같고 메서드도 아니인거같고 필드도 아니인거같은대 어떤 일을 하는건지 잘모르겟습니다...
짐작하는걸로는 자기자신을 참조해서 저장하는 거같기는 한대 저만의 상상력으로는 이해가 잘안갑니다..
아니면 전혀 잘못생각하고있는건지...
나름 잘이해하고 따라 가고있다고 생각하는대 책애도 없고 인터넷을찾아바도 이해가 잘안대서 조금 답답합니다
부탁좀 드리겟습니다....

신청하기





COMMENT

댓글을 입력해주세요. 비속어와 욕설은 삼가해주세요.

  • 라

    감사합니다!! 답변이 늦었네요 ㅠㅠ 아그래도 제가 생각한게 맞네요 ㅠㅠ 답변이 늦어서 한 3일똥안 인터넷뒤지고 책 처음부터보고 ㅠㅠ 단순한거엿는데 저한테는 생소한거여서 너무 어렵게생각한게 문제엿던거같에요 ㅠㅠ
    감사합니다!

  • 두동

    메인에서 JBank 클래스 생성함... JBank안에는 JBank클래스형태를 받을 수 있는 변수 next가 존재 여기까지가 1번이라고 생각하세요.. 1번에서 this는 자기 자신을 가리킴.. 자기자신의 메서드인 1.setnext를 부르면 1번의 next값이 JBank를 가진 2번을 생성함.. 1번의 next는 2번을 가리킴... 링크드리스트 생각해보시면 될것같네요..

  • 나슬

    private JBank next; -- 이부분은 JBack 란 클래스를 next 란 이름 으로 인스턴트를 얻기 위해 쓴거 같습니다.

    next = new JBank(); -- 이부분,

    다른 next() 함수랑 구별하시면 될것 같네요 이름을 바꾸시면 이해하기가 쉽게 되실수도
    예를 들어 private JBank next; -- private JBank jbank; 이런식으로
    jbank = new JBank();

번호 제 목 글쓴이 날짜
2704437 출근후 파폭을 6.0으로 업뎃할거냐는 메세지가 나오길래... (3) 마호 2025-08-10
2704383 max-width , min-width, width 세 녀석 관련 질문드립니다. (1) 다와 2025-08-09
2704356 이번 과제로 성적관리 프로그램을 작성해야 하는데... (3) 칸나 2025-08-09
2704305 캐릭터 방향 전환에 대해서 질문합니다. (4) 우수리 2025-08-09
2704276 센터정렬 사이트에서의 정렬문제 (3) 새론 2025-08-08
2704219 충돌감지에 대한 질문입니다. (액션 3.0) (1) 화이티 2025-08-08
2704192 hover 이미지 적용시에..IE에서는 hover 후 원래대로 돌아가지를 않습니다. (2) 민아 2025-08-08
2704135 레이어있는 문서가 뒤로가기버튼 누르면 레이어가 안생깁니다. (4) 개구리 2025-08-07
2704113 왕초보 질문합니다. (3) 민들레 2025-08-07
2704084 스타일시트를 찾을 수 없다고 나오면서 테마 설치가 안되네요 ;; 다힘 2025-08-07
2704026 혼자서 코딩하구있어요 select박스질문입니닷! (4) 콩알눈 2025-08-06
2704000 button value="" 값 css로 수정관련 (2) 꼬붕 2025-08-06
2703971 접근성에 맞는dtd선언하기 (2) 하루 2025-08-06
2703917 div코딩 어느 해상도에서도 중앙정렬문의!!ㅠㅠ 해긴 2025-08-05
2703887 미치겠습니다. 테마 등록, 강남맨 2025-08-05
2703862 아바다 테마 사용도중 질문 드려요~! 모은 2025-08-05
2703831 자바에서 애프릿이랑 어플리케이션 같이쓸때 창 닫는법 (1) 소리 2025-08-04
2703806 (MFC) 현재 선택된 콤보박스 값을 EDIT박스에 어떻게 넣을까요;; 빵돌 2025-08-04
2703752 K-WAH4.4 웹접근성 title페이지 제목 없음 이거 아시는분 계신가요? 갤2 2025-08-04
2703692 초보가 헤메고 있습니다. ㅠㅠ (3) 이루리 2025-08-03
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

수다닷컴 | 여러분과 함께하는 수다토크 커뮤니티 수다닷컴에 오신것을 환영합니다.
사업자등록번호 : 117-07-92748 상호 : 진달래여행사 대표자 : 명현재 서울시 강서구 방화동 890번지 푸르지오 107동 306호
copyright 2011 게시글 삭제 및 기타 문의 : clairacademy@naver.com