메뉴 건너뛰기

조회 수 2312 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

// 아래 문제의 오류를 찾아보세요. 그리고 고쳐보세요.

 

class Joo extends Kbh
{
public static void main(String[] args){
System.out.println(age);

}
}


class Kbh
{
String name = "bong";
int age = 24;
int birth = 901116;

void seoil() { System.out.println("bye");}

}

 

 

 

 

 

#개념

위에 문제는 상속을 통한 static 멤버와 관련된 오류입니다.

static멤버는 클래스가 메모리에 올라갈때 이미 자동적으로 생성되기에 인스턴스 생성하지 않고도

 클래스이름.클래스멤버변수;  또는 클래스이름.클래스메서드(); 와 같이 사용할수 있다.

 

하지만 인스턴스 멤버는 인스턴스를 생성할때 만들어 진다. 그래서 static이 붙은 메서드를 호출할때

인스턴스가 생성되어있지 않을 수 있어서 static메서드에서는 인스턴스 변수를 사용할수 없다.

그러나 인스턴스 메서드 내에서는 static이 붙은 멤버를 사용할수 있다. 왜냐하면 인스턴스 멤버는

인스턴스가 만들어 진 후에 쓸수 있다고 했다. 그럼으로 인스턴스를 사용한다는것은 이미 인스턴스를 생성했다는 

것 이기 때문이다.(인스턴스변수가 존재한다는 것은 이미 static이 붙은 멤버가 이미 메모리에 존재한다는 의미이다.)

 

 

 

 

 

#결론

그럼으로 위에 소스에서 잘못된점은 main()메서드 안에 인스턴스 변수인 age가 인스턴스 생성없이 사용 되어 에러가발생하였다.

main()도 메서드인데 제어자가 static이기때문에 클래스메서드 이고 클래스메서드 안에서 인스턴스변수 를 사용 하려면 객체를 생성한 후이거나 static age=24;  로 접근 하여야 한다.

중요한것은 main() 도 일반 다른 메서드들 처럼 메서드일뿐이다.!!


List of Articles
번호 제목 날짜 조회 수
87 숫자형식 포멧 방법 2018.02.09 303
86 jquery 스크롤(scroll) 따라다니는 배너 레이어 / 위로 버튼 / 화면 상단으로 이동 / scroll layer 이벤트 file 2017.07.04 1604
85 BigDecimal타입의 사칙연산 2016.12.22 1806
84 다양한 문자 조합을 이용한 카운팅 구하기 2016.12.09 2687
83 자바 JXL 엑셀파일을 읽어 배열리턴 : JAVA EXCEL ArrayList 2016.12.09 2315
82 날짜 시간 포맷 제어 자바 클래스 : JAVA DateUtils Date time file 2016.12.09 2582
81 자바 다양한 형변환. 그리고 아스키 코드 String char int : JAVA 2016.12.09 2166
80 자바 XML 제어 라이브러리 XStream : JAVA 2016.12.09 2712
79 원하는 패턴의 날짜 구하기 : JAVA 2016.12.09 2050
78 iBATIS 동적으로 맵핑하기 2016.12.09 2115
77 GET 파라메타 쿼리문자열 컨트롤 : getQueryString 2016.12.09 2207
76 접근 제한자 private/ protected/ public / default file 2016.10.06 2171
75 예외처리(Exception handling)방법 file 2016.09.21 2592
74 My-SQL 을 이용한 JDBC file 2016.09.21 2347
» static멤버와 관련된 예제 2016.09.21 2312
72 파일 읽고쓰는 암호화/복호화 2016.09.21 3374
71 JQuery 자동완성 플러그인 JSDT설치 file 2016.09.19 5186
70 System.out.println(); 이클립스에서 자동화기능 사용 file 2016.09.19 2911
69 웹브라우저(크롬) 설정하여 웹을 실행해 보자 file 2016.09.19 3158
68 한글이 깨졌다! 인코딩(encoding)을 설정하자 file 2016.09.19 2263
Board Pagination Prev 1 2 3 4 5 Next
/ 5

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved