수다닷컴

  • 해외여행
    • 괌
    • 태국
    • 유럽
    • 일본
    • 필리핀
    • 미국
    • 중국
    • 기타여행
    • 싱가폴
  • 건강
    • 다이어트
    • 당뇨
    • 헬스
    • 건강음식
    • 건강기타
  • 컴퓨터
    • 프로그램 개발일반
    • 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();

번호 제 목 글쓴이 날짜
2699214 position:fixed 에 대한 질문입니다.. (7) 사이 2025-06-24
2699183 제이쿼리 이미지 슬라이드 위치값 수정 초엘 2025-06-23
2699153 테마[ADORABLE]에서 페이지생성시 하위페이지는 2개밖에 안되나요? 흰여울 2025-06-23
2699129 네이버 블로그 또는 사이트의 글을 불러오기 갤원 2025-06-23
2699070 탭메뉴처럼 셀렉트 박스를 이용해서 내용을 출력할 수 있는 방법이 있을까요. (3) 큰꽃늘 2025-06-22
2699016 인터넷이 안되는 환경에서 validator설치방법 (3) 은송이 2025-06-22
2698988 대체 C++ 6.0 exe 아이콘은 어떻게 넣는건가요? 외국녀 2025-06-22
2698960 음성파일을 embed로 작업했는데..웹 표준코딩으로 변경하려면 어떻게 해야하나요? (1) 잎새 2025-06-21
2698932 메뉴목록 풍선창 만들기 html (2) 하늘이 2025-06-21
2698901 http://www.zeitgeistbot.com/ 이 사이트처럼 움직이는 효과를 무엇이라고 하나요? 누림 2025-06-21
2698876 table width값 크로스브라우징에 대한 문의 (2) 볼수록매력 2025-06-21
2698849 c언어 질문. (3) 아름나 2025-06-20
2698823 setInterval 이벤트 제거 하려면... 가온길 2025-06-20
2698796 이 오류를 이해를 못하겠어요 Addicted 2025-06-20
2698712 IF 문 이 계속 오류가 나요 (2) 옆집오빠야 2025-06-19
2698687 이미지를 클릭하면 그 이미지를 다운받게해주는 방법 질문요 ^^ (미해결) (5) 해지개 2025-06-19
2698663 상속하면 자꾸 class 이름이 애러가 나네요 (2) 미련곰탱이 2025-06-19
2698637 마크업 질문요~~ (6) 바르고 2025-06-18
2698551 게시판폭보다 큰 이미지올릴때 어떻게 하시는지요 (9) 에드문드 2025-06-18
2698522 [VB.net]원인을 몰라서 이렇게 질문해요! 개랑 2025-06-17
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

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