• 티스토리 홈
  • 프로필사진
    chantleman
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
chantleman
  • 프로필사진
    chantleman
    • 분류 전체보기 (328)
      • 프로젝트 (1)
      • react (2)
      • 코딩테스트 (133)
        • lv0 (101)
        • lv1 (10)
        • lv2 (7)
        • lv3 (15)
      • 오류 (14)
      • 리눅스 (5)
      • 자바 (75)
        • spring (7)
      • js (35)
      • 오라클 (39)
        • PLSQL (3)
      • cs (5)
      • 도커 aws (3)
      • 단축키 (3)
      • 나만봐 (0)
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • 필드
        2024년 07월 12일
        • chantleman
        • 작성자
        • 2024.07.12.:57

        메소드 안이 아닌 클래스 영역 안에 있는 애들을 필드라고 합니다.

         

         

        public class Student {
        	String name;
        	int kor;
        	int eng;
        	int math;
        	int sum;
        	double avg;
        	
        }

        Student 클래스에 이런 틀을 정해주고

         

        public class StudentMain {
        	public static void main(String[] args) {
        		Student st=new Student();
        		
        		st.name="이순신";
        		st.kor=100;
        		st.eng=90;
        		st.math=100;
        		st.sum=st.kor+st.math+st.eng;
        		st.avg=st.sum/3.0;
        		
        		
        		Student st2=new Student();
        		st2.name="홍길동";
        		st2.kor=70;
        		st2.eng=70;
        		st2.math=100;
        		st2.sum=st2.kor+st2.math+st.eng;
        		st2.avg=st2.sum/3.0;
        		
        		
        		Student st3=new Student();
        		st3.name="강감찬";
        		st3.kor=90;
        		st3.eng=100;
        		st3.math=80;
        		st3.sum=st3.kor+st3.math+st3.eng;
        		st3.avg=st3.sum/3.0;		
        	
        		
        	}
        }

         

        StudentMain클래스에서 출력할 때

        System.out.println("이름: "+st.name+", 국어: "+st.kor+", 영어: "+st.eng+", 수학: "+st.math);
        System.out.println("총점: "+st.sum+"평균: "+st.avg);

        이렇게 일일이 하기 귀찮으니까

         

         

         

        student 클래스에서

        alt+shift+s → generate toString

        출력하고싶은 객체 선택하면 이렇게 오버라이딩이 됩니다.

        public class Student {
        	String name;
        	int kor;
        	int eng;
        	int math;
        	int sum;
        	double avg;
        	
        	//오버라이딩
        	@Override
        	public String toString() {
        		return "학생 [name=" + name + ", kor=" + kor + ", eng=" + eng + ", math=" + math + ", sum=" + sum + ", avg="
        				+ avg + "]";
        	}
        	
        	
        }

         

         

        StudentMain 클래스에서

        System.out.println(st);
        System.out.println(st2);
        System.out.println(st3);

        이렇게 출력하면 

        아까 student에서 오버라이딩한 포맷대로 출력됩니다.

         

        만약에 오버라이딩 안하고 그냥 System.out.println(st);하면 스택영역에 있는 값, 즉 주소값을 출력합니다.

        728x90

        '자바' 카테고리의 다른 글

        버블 소팅 이용한 로또 예제  (0) 2024.07.12
        배열 복사  (0) 2024.07.12
        배열, 필드 데이터 담기  (0) 2024.07.12
        문자 맞히기 게임 예제  (0) 2024.07.10
        이클립스 디버깅  (1) 2024.07.10
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바