[Java] 유효범위(Scope)
·
TIL/Java
유효범위란? 변수를 전역변수와 지역변수로 나눠서 좀 더 관리하기 편리하도록 한 것 이다. 아래 코드에서 a 메소드 또는 for 문 안에 있는 i를 int i로 선언하게 되면 무한루프에 빠지는 현상을 해결할 수 있다. 아래 ScopeDemo4 클래스에서 10번 째 줄 코드가 오류가 나는 이유는 title 이라는 변수가 a 라는 메소드에서만 사용되는 지역변수로만 선언이 되어있고 전역변수로 선언된 title 변수가 없기 때문이다. 만약, for문이 있는데 for문 안에서 int i를 선언하지 않고 'for( i = 0; i < 5; i++)' 이런식으로 선언했다면 전역변수가 무조건적으로 있어야 한다. 아래 ScopeDemo6 클래스를 실행하면, 결과는 5가 나온다. 그 이유는 a 메소드는 a 메소드에서 사용하..
[Java] 실습과제_특가 할인 매장
·
TIL/Java
실습과제 특가 할인 매장 가게에서 판매할 상품을 위한 클래스를 만들어보자 MarketGood 클래스 인스턴스 변수 MarketGood 클래스는 아래와 같은 인스턴스 변수들을 포함합니다: (1) String name (상품의 이름) (2) int retailPrice (상품의 출시 가격) (3) int discountRate (상품의 할인율. 단위: %) 모두 private으로 설정해주세요! 생성자 MarketGood 클래스는 두 개의 생성자를 가지고 있습니다: (1) public MarketGood(String name, int retailPrice, int discountRate) 생성자의 파라미터로 받은 값들을 인스턴스 변수에 지정해줍니다. discountRate가 0%보다 작거나 100%보다 큰 경..
[Java] this
·
TIL/Java
this : 메소드에서 현재 인스턴스를 가리키는 역할을 한다. class Person { private String name; public Person(String pName) { name = pName; } public void sayHello() { System.out.println("Hi. My name is " + this.name); } } class Main { public static void main(String[] args) { Person p1 = new Person("김용선"); p1.sayHello(); Person p2 = new Person("안혜진"); p2.sayHello(); } } Hi. My name is 김용선 Hi. My name is 안혜진 p1.sayHello()..