메뉴 건너뛰기

조회 수 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
번호 제목 날짜 조회 수
131 회원가입 폼(form)으로 보는 Validator 구현하는 방법 file 2016.08.29 7108
130 Select statements cannot be executed as an update. 에러 해결방법 file 2016.08.29 3846
129 Database Connections 생성하기 (오라클) file 2016.08.29 4072
128 Database Connections 생성하기 (Mysql) file 2016.08.29 3365
127 전자정부 표준프레임워크 설치하기 file 2016.08.29 4250
126 간단한 개인홈페이지 만들어보기 file 2016.08.29 4751
125 war로 묶지 않아도 컴파일된 소스 위치 확인하기 file 2016.08.29 4116
124 MySQL에 All-in-one 설치시 webmaster로 로그인 안되는 문제 해결을 위한 2가지 수정사항 file 2016.08.29 4954
123 전자정부표준프레임워크 - 설치 file 2016.09.02 6277
122 Spring Boot 프로젝트 생성 file 2016.09.02 4160
121 전자정부프레임워크 v2.5, v2.6 오라클 세팅하기 file 2016.09.12 5109
120 JSP, Spring, GMail 메일발송 간단 예제 2016.09.12 32791
119 변수의 종류 2016.09.13 3978
118 클래스멤버와 인스턴스멤버간의 참조와 호출 2016.09.13 3346
117 클래스 메서드와 인스턴스 메서드 2016.09.13 3720
116 static 2016.09.13 3354
115 컬렉션 프레임워크 file 2016.09.13 3705
114 제네릭 file 2016.09.13 3297
113 파일I/O 개요 file 2016.09.13 3507
112 바이트 기반의 스트림 file 2016.09.13 3763
Board Pagination Prev 1 2 3 4 5 6 7 8 Next
/ 8

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved