수다닷컴

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

왕초보적인 메소드 호출 질문입니다ㅠ 꼭답변해주세요!

미국녀

2023.04.01

public class GradeBook
{
private String courseName;

public void setCourseName(String name)
{
courseName = name;
}

public String getCourseName()
{
return courseName;
}

public void displayMessage()
{
System.out.printf( Welcome to the grade book for \n%s!\n,getCourseName);
}
}
import java.util.Scanner;

public class GradeBookTest
{
public static void main (String args[])
{
Scanner input = new Scanner(System.in);
GradeBook myGradeBook = new GradeBook();

System.out.printf( Initial course name is: %s\n\n,myGradeBook.getCourseName());

System.out.println(Please enter the course name: );
String theName = input nextLine();
myGradeBook.setCourseName(theName);
System.out.println();

myGradeBook.displayMessage();
}
}

위에 첫번째 클래스에서 초록색으로 된 getCourseName을 사용하는 이유가 궁금합니다
그냥 인스턴스 선언한 courseName을 입력해도 프로그램은 동일하게 돌아가는 것으로 알고 있는데
왜 굳이 getCourseName을 사용하는지 그 이유와 사용할 때의 장점을 알고 싶습니다.
좀 원리적인 부분으로 알려주세요;;부탁드려요!!

신청하기





COMMENT

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

  • 아라

    감사합니다

  • 매1혻적

    댓글이 길어져서 좀 더 기술합니다. 예를 들어, getCourseName() 함수의 return값을 대문자로만 한정한다거나, setCourseName()함수의 입력값을 필터링할 때, 특수문자를 제외해야 한다거나 등등, 변수에 대한 선처리, 후처리를 일관되게 한다는 관점이라면 같은 클래스 내에서의 접근이라 해도 변수를 일관되게 접근한다는 관점에서 해당 메소드를 호출하는 것이 바람직합니다. 이런 부분들은 사실, 객체지행방법론이 왜 좋으냐라는 논리적인 설명보

  • 한국드립

    컥..버섯수다님//ㅡ_ㅡ; 제가 아래분이 되는군요... 버섯수다님의 설명도 맞고요. 이런 부분은 이것이 답이다라고 하는 것이 아닙니다. 단, 확실히 말씀드려서 좋은 프로그래머의 습관이라고 생각하면 편하겠습니다. 일단, 변수(coursename)을 직접 접근(read/write)하는 부분에 있어서 객체지향적인 프로그램을 만드시는 것이라면 클래스의 멤버 변수를 직접 접근을 막아주는 것이 객체에 대한 기본적인 접근입니다. 물론 장점/단점 모두 있습니다만 우선

  • 데빌의눈물

    뭐... 논란이 많은 부분인지라....
    getXXXX/setXXXX 메소드를 만드신 이유는...
    private로 선언된 courseName 필드를 외부에서 직접 접근할 수 없도록 막기 위함입니다.
    다만, 같은 클래스에서 getXXX메소드로 접근할지..
    직접 필드명으로 접근할지는 조금 고민해 봐야 할 수 있지만...
    아무래도 getXXX메소드롤 호출해서 실행하는 것보다는
    courseName 필드를 직접 이용하는게 속도면에서는 이득이겠지만...
    필드명이 변

번호 제 목 글쓴이 날짜
2701475 배열최대값 찾기인데; 소스좀 해석해주세요; Orange 2025-07-14
2701397 세로 100% 푸터부분이 바닥에 안붙어요(세로 100% 되는 소스를 썼거든요) 꽃겨울 2025-07-13
2701369 [긴급]로드해온 swf가 갑자기 사라지는 현상..(익스10) (2) 곰돌이 2025-07-13
2701340 [c++]학교 과제 질문이요...... (3) 기쁨해 2025-07-13
2701311 구글 뉴스검색최적화 작업은 누구의 영역인가요? 많은 조언 부탁드려요! 리나 2025-07-13
2701285 아이폰이나 안드로이드 폰 인터넷으로 볼때 배꽃 2025-07-12
2701230 테마 설정하면 밑에 뜨는 글 삭제 (1) 창의적 2025-07-12
2701177 css적용이 안되요~ (6) 다니엘 2025-07-11
2701151 사이트작업시 inputbox 가 readonly 형태표시 어떻게 하시나요? (1) 찬내 2025-07-11
2701123 간단한 select 질문입니다 (3) 천사의눈물 2025-07-11
2701061 비베질문.. 똘끼 2025-07-10
2701034 메일폼 내 script 삽입가능한 방법 없을까요.. (2) 마음새 2025-07-10
2701008 분명히 버튼을 만들었는데 액션이 안걸립니다. (3) 재찬 2025-07-10
2700923 전체중앙정렬&독타입&쿼크모드 ㅜㅠ (8) 푸른들 2025-07-09
2700893 질문드리겠습니다. 도도한 2025-07-09
2700793 무비클립에 마우스 오버시 랜덤으로 효과음 나기는 어떻게 ;; (1) 바닐라 2025-07-08
2700741 웹전송? (2) 연와인 2025-07-07
2700686 카테고리 호버시 세부카테고리 보이게하는 것, css로만 가능할까요?? (3) 다힘 2025-07-07
2700658 메타태그 질문드립니다..ㅠㅠ;;; 모해 2025-07-07
2700632 외부에서 이미지 파일을 불러와야 합니다. 도와주세요. (4) 에일린 2025-07-06
<<  이전  1 2 3 4 5 6 7 8 9 10  다음  >>

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