# 02/Java 썸네일형 리스트형 [윤성우의 열혈자바] 11-1. 메소드의 오버로딩 오버로딩 관련 피해야할 애매한 상황 class AAA {void simple ( int p1, int p2 ) { ... }void simple ( int p1, double p2 ) { ... }} 다음과 같이 모호한 상황을 연출하지 않는 것이 좋다!! AAA inst = new AAA();inst.simple( 7, 'k' ); // 어떤 메소드가 호출될 것인가? -> 첫 번째 메소드가 호출된다. 이유는 'k' 는 char 형 이므로 double, int 로 모두 자동형변환 가능하지만char 은 int 형과 더 가까우므로 첫 번째 simple 메소드가 호출된다!!따라서 모호한 방법 보다는 (int) 'k' 또는 (double) 'k' 이런 식으로 정확하게 형변환 시켜주는 편이 낫다. 키워드 this를.. [윤성우의 열혈자바] 10-4. 또 다른 용도의 static 선언 static 초기화 블록 class DateOfExecution {static String date; // 프로그램의 실행 날짜를 저장하기 위한 변수 static {LocalDate nDate = LocalDate.now();date = nDate.toString();} public static void main(String [] args) {System.out.println(date);}} 인스턴스 생성과 관계 없이 static 변수가 메모리 공간에 할당될 때 실행이 된다. static import 선언 System.out.println(Math.PI);java.lang.Math.PI System.out.println(PI);import static java.lang.Math.PI; 추가된 문법이긴 하.. [윤성우의 열혈자바] 10-3. System.out.println() System.out.println( 클래스이름 _ 클래스 변수 (참조 변수) _ 메소드 ) System.out.println() 에서 out 과 println 의 정체는? java.lang.System.out.println( ... );System 은 java.lang 패키지에 묶여 있는 클래스의 이름그러나 컴파일러가 다음 문장을 삽입해 주므로 java.lang 을 생략할 수 있다.import java.lang.*; System.out.println( ... );out 은 클래스 System의 이름을 통해 접근하므로,이는 System 클래스의 클래스 변수 이름임을 유추할 수 있다. System.out.println( ... );println 은 out 이 참조하는 인스턴스의 메소드이다. [Java] Vector 보호되어 있는 글입니다. [윤성우의 열혈자바] 10-1. static 선언을 붙여서 선언하는 클래스 변수 [출처] 열혈 Java Chapter 10 강의를 올려 드립니다. (완료) (윤성우의 프로그래밍 스터디그룹 [C/C++/자바/파이썬]) |작성자 선언된 클래스의 모든 인스턴스가 공유하는 클래스 변수 class InstCnt { static int instNum = 0 ; // 클래스 변수 (static 변수) InstCnt() {instNum++ ;System.out.println("인스턴스 생성 : " + instNum) ;}}class ClassVar {public static void main ( String[] args ) {InstCnt cnt1 = new InstCnt(); // 모두 같은 변수 참조InstCnt cnt2 = new InstCnt();InstCnt cnt3 = new InstC.. [윤성우의 열혈자바] 9-2. 접근 수준 지시자 네 가지 종류의 접근 수준 지시자 public > protected > default > private - 클래스 정의 대상 : public, default - 인스턴스 변수와 메소드 대상 : public, protected, default, private 클래스 정의 대상의 public과 default 선언이 갖는 의미 - public 어디서든 인스턴스 생성이 가능하다. - default 동일 패키지로 묶인 클래스 내에서만 인스턴스 생성을 허용한다. 인스턴스 멤버 대상의 접근 수준 지시자 선언 - public 어디서든 접근 가능 - protected 상속 관계에서 접근 가능, 동일 패키지가 아니더라도 가능!! - default 동일 패키지로 묶인 클래스 내에서만 접근 가능 (상속 했어도 패키지가 다르면.. [윤성우의 열혈자바] 9-1. 정보 은닉 정보를 은닉해야 하는 이유 class Circle { private double rad = 0; // 원의 반지름final double PI = 3.14; public Circle(double r) {setRad(r);} public void setRad ( double r ) {if ( r [윤성우의 열혈자바] 7-1. 클래스의 정의와 인스턴스의 생성 인스턴스와 참조변수 BankAccount myAcnt1; // 참조변수 myAcnt1 선언BankAccount myAcnt2; // 참조변수 myAcnt2 선언 myAcnt1 = new BankAccount(); // myAcnt1이 새로 생성되는 인스턴스를 가리킴myAcnt2 = new BankAccount(); // myAcnt2이 새로 생성되는 인스턴스를 가리킴 myAcnt1.deposit(1000); // myAcnt1이 참조하는 인스턴스의 deposit 호출myAcnt2.deposit(2000); // myAcnt2이 참조하는 인스턴스의 deposit 호출 참조변수의 특성 BankAccount yoon = new BankAccount(); yoon = new BankAccount(); // yo.. 이전 1 ··· 6 7 8 9 10 11 다음