목록Java (3)
삽이 부서질 때까지 삽질
업 캐스팅은 자식 클래스 객체가 부모 클래스 타입으로 변환되는 걸 업캐스팅이라고 한다. 솔직히 이렇게 말하면 잘 못알아 먹겠다...그래서 예제를 보며 간단히 설명해죠. 여기서 부모 클래스는 A 자식 클래스는 B 입니다.시선을 가지고 이해했더니 편해서 시선을 가지고 설명할게요. A 클래스 타입으로 a를 생성했죠. 그러니 저희의 시선은 A 를 보고 있다고 생각하겠습니다.그런데 B 클래스를 A 클래스에 대입했죠. 하지만 저희는 계속 A를 보고 있는 겁니다.시선은 A인데 B를 가지고 놀려니까 에러가 발생하는 거죠. 음...설명만으로는 난해할 수 있으니그림으로 표현할게요.시선이 A 즉, 파란 부분만 보고 있으니 B가 대입이 되어 있어도 B는 관심도 없는 거죠. 이해하기 쉬웠으려나 모르겠네요 ㅎㅎ;...
저번 글에서 이번글로 넘어오신 분들은 순서가 참... ㅋㅋㅋㅋ이럴건데 그냥 쓰고 싶은 것만.. 메소드 오버로딩은 cpp 개념과 같지만...java 버전으로 하나 만들죠 ㅋㅋㅋ 메소드 오버로딩은 같은 이름의 메소드가 있을 때 메소드의 파라미터가 다르면 같은 이름이여도 됩니다.같은 이름이여도 여러개를 만들 수 있는 거죠. 위 두개의 사진의 차이점을 아시겠나요??첫번째 사진은 int를 2번 호출하였고, 아래 사진은 int 한번, double 한번을 호출하였습니다.이유는 구분이 안되기 때문에 컴파일러가 int 형으로 인식하고 int 형으로 넣었기 때문입니다.즉, 구분이 힘들면 컴파일러에 정의된 값에 따라 호출한다는 것이죠. ㅎ 그리고 메소드 오버 로딩 주의 사항이 있습니다. 바로 메소드의 이름이 같고 인자의 개..
자바에도 c/cpp 처럼 while, for, do~while 이 존재해요.이번 글에서는 for만 설명하고 나머지는 구글링 하시기를...요청글이 오면 쓰겠어요!![덧글이 하나도 없는 세상 ㅎ] for(시작 ; 조건 ; 증감){//루틴} 이렇게 작동합니다.시작에는 초기화 해주는 값. int i = 0 이라던가 i = 0 이라던가 등등...사용자가 시작하기 원하는 값이 존재하겠죠.하지만 처음 시작하는 분들이 가장 많이 사용하는 i = 0 으로 시작해볼게요. 배열을 시작하면 가장 친근한 1 ~ 9 출력하기!c랑 다른 점이 있다면 배열에 .length를 하면 길이를 반환한다는 점??...하면서 신기했어요... [cpp로 하면 이렇게...] 뭐... 다시 java로 넘어와서 1차 배열은 아래처럼도 표현이 가능하죠..