Java (130) 썸네일형 리스트형 [Java] 정보 은닉(private) 정보은닉 - 클래스가 갖고 있는 정보(멤버 변수)를 외부에서 직접 접근 못하도록 숨기는 행위 - 숨기는 방법은 멤버변수를 private으로 선언하면 됩니다. private으로 선언하면 같은 클래스 내부에서만 접근이 가능합니다. - 외부에서 인스턴스 등을 통해 멤버변수에 접근하려면 특정 메소드를 통한 간접 접근 방식을 사용해야합니다. - 멤버변수 값 변경은 setter 메소드를 통하고, 값의 참조는 getter를 통해 작업합니다. . . 해당 예제는 멤버변수에 임의로 접근해서 수정하는 경우이다. /* 과일 판매자 : fruitSeller - 멤버변수 : 사과개수(numOfApple), 매출액(myMoney), 가격(APPLE_PRICE) - 메소드 : 판매(saleApple()), 현황보기(showSale.. [Java] 실습 - 삼각형 넓이 구하기 클래스 이름 : Triangle - 밑변과 높이를 저장할 수 있어야 함 : 멤버변수 선언 - 인스턴스 생성과 동시에 밑변과 높이를 초기화할 수 있어야 함 : 생성자에서 초기화 - 밑변과 높이 정보를 변경할 수 있는 메소드 정의 : setter 메소드 정의 - 삼각형의 넓이를 구하여 리턴하는 메소드 정의 : 넓이 연산 후 리턴 - 모든 정보는 double형으로 작업 . . 예제 class Triangle { double triHeight; // 삼각형의 높이 double triBottom; // 삼각형의 밑변 double triArea; // 삼각형의 넓이 public Triangle(double height, double bottom){ triHeight = height; triBottom = botto.. [Java] 실습 - 사과판매3(생성자 이용) 문제점 - APPLE_PRICE를 변수로 사용해야 함. - 인스턴스 생성에 두 줄의 명령이 필요함. - 언제든 initMember()메소드를 호출할 수 있어 모든 값이 변경될 수 있음. 해결책 - 생성자 이용 . . 예제 /* 과일 판매자 : fruitSeller - 멤버변수 : 사과개수(numOfApple), 매출액(myMoney), 가격(APPLE_PRICE) - 메소드 : 판매(saleApple()), 현황보기(showSaleResult()) 과일 구매자 : fruitBuyer - 멤버 변수 : 사과개수(numOfApple), 사과 살 돈(myMoney) - 메소드 : 구매(buyApple()), 현황보기(showBuyResult()) 제어 : FruitSalesMain1 - fruitSeller와.. [Java] 생성자(Constructor) 생성자(constructor) - 모든 클래스에 존재하는 일종의 메소드로 인스턴스를 생성시켜주는 작업을 합니다. 생성자가 없으면 JVM이 자동으로 default 생성자를 만들어 사용합니다. default 생성자 : 다른 작업은 하지 않고 오직 인스턴스만을 생성합니다. - 생성자는 인스턴스 생성시 딱 한 번만 실행됩니다. 가장 먼저 실행되기 때문에 멤버 변수들의 초기화에 주로 사용됩니다. - 선언법 접근제어지시자 메소드명-클래스명([매개변수(들)]){ 생성자 실행문(들); } 생성자는 리턴타입이 없습니다. : 입력하면 생성자가 아닌 일반 메소드로 인식합니다. 생성자의 이름은 반드시 클래스 이름과 동일해야 합니다.(대소문자 포함) . . 예제1 class NumberEx { int num = 10; // 멤.. [Java] 실습 - 사과판매2 지난 시간 복습 . 문제점 - 판매자나 구매자의 인스턴스를 여러개 만들어도 모두 동일한 데이터를 갖게 됨. ex) 보유사과 20개에 단가 1000원인 판매자들이 생성됨. 모든 인스턴스의 멤버변수 값이 동일하다는 것을 의미 해결책 - 인스턴스의 멤버변수 값을 각기 다르게 지정할 수 있어야 함. . 예제 /* 과일 판매자 : fruitSeller - 멤버변수 : 사과개수(numOfApple), 매출액(myMoney), 가격(APPLE_PRICE) - 메소드 : 판매(saleApple()), 현황보기(showSaleResult()) 과일 구매자 : fruitBuyer - 멤버 변수 : 사과개수(numOfApple), 사과 살 돈(myMoney) - 메소드 : 구매(buyApple()), 현황보기(showBuy.. [Java] 실습 - 사과 판매1 과일 판매자 : fruitSeller - 멤버 변수 : 사과개수(numOfApple), 매출액(myMoney), 가격(APPLE_PRICE) - 메소드 : 판매(saleApple()), 현황보기(showSaleResult()) 과일 구매자 : fruitBuyer - 멤버 변수 : 사과개수(numOfApple), 사과 살 돈(myMoney) - 메소드 : 구매(buyApple()), 현황보기(showBuyResult()) 제어 : FruitSaleMain1 - fruitSeller와 fruitBuyer 클래스의 인스턴스를 생성하여 사과구매를 실행시킴 - 구매 후 판매자와 구매자의 현황을 확인 . . 예제 class FruitSeller { int numOfApple = 20; // 보유 사과 개수 int .. [Java] 인스턴스(instance) 인스턴스(instance) - 클래스를 기반으로 만들어 내는 객체로 일반적으로 객체라 하면 인스턴스를 의미합니다. - 인스턴스에는 클래스의 멤버들이 들어오게 되며 각각 멤버 변수, 멤버 메소드라 합니다. 정확하게는 인스턴스변수와 인스턴스메소드라 하지만 보통 멤버라 지칭합니다. - 인스턴스의 생성 목적은 다른 클래스의 기능(멤버)들을 사용하기 위해서입니다. . . 예제 class NumberEx{ int num = 0; // 멤버변수로 현 클래스내에서 자유롭게 사용할 수 있음. public void addNum(int n){ num += n; } public int getNumber(){ return num; } } class PassInstance { public static void main(Strin.. [Java] 전역 변수 - Local Variable 메인 메소드 바깥에서 선언한 변수가 해당 클래스 메소드에서 모두 사용할 수 있다. . . 예제 class LocalVariable { public static void main(String[] args) { boolean scope = true; if (scope) { int num = 0; num++; System.out.println(num); } else { int num = 1; num++; System.out.println(num); } test(); } public static void test(){ int num = 3; System.out.println(num); } } 이전 1 ··· 11 12 13 14 15 16 17 다음