메뉴 건너뛰기

조회 수 3768 추천 수 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
번호 제목 날짜 조회 수
151 A java Runtime Environment(JRE) or Java Development Kit(JDK) must be ~~~~ 하면서 이클립스가 실행안될때. file 2019.03.05 789
150 Apache Commons HttpClient 3.x 로 Http 서버에 파일 전송하기 file 2019.01.08 1136
149 BigDecimal타입의 사칙연산 2016.12.22 3713
148 Database Connections 생성하기 (Mysql) file 2016.08.29 3365
147 Database Connections 생성하기 (오라클) file 2016.08.29 4072
146 eclipse 콘솔(로그)에 디버그(Debug) 모드에서 실행된 쿼리문을 보여주자. - 전자정부프레임워크 오라클 file 2016.08.29 4172
145 eclipse 콘솔(로그)에 디버그(Debug) 모드에서 실행된 쿼리문을 보여주자. - 전자정부프레임워크 오라클 file 2016.08.29 5999
144 Eclipse에서 import문 자동으로 작성하는 기능 file 2016.09.19 4811
143 enum 2016.09.13 3404
142 File 클래스 file 2016.09.13 3603
141 for-each문 file 2016.09.13 3120
140 GET 파라메타 쿼리문자열 컨트롤 : getQueryString 2016.12.09 4705
139 Gmail 메일 서버를 이용해서 메일 보내기 file 2020.06.29 256
138 HashMap 사용하기 file 2021.03.31 134
137 iBATIS 동적으로 맵핑하기 2016.12.09 3949
136 Jadclipse 플러그인 설치 file 2016.09.19 3512
135 JAR 파일 2016.09.19 3713
134 Java : JSOUP 를 이용, html에서 소스, 링크경로 추출후 절대 경로로 바꾸기 2019.01.08 1166
133 JAVA CentOS JDK 설치 및 환경변수 설정 file 2018.07.09 1821
132 JAVA HashMap의 Key값 출력하기 2018.07.09 1069
Board Pagination Prev 1 2 3 4 5 6 7 8 Next
/ 8

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved