뭐가 있을까요? 물론 구글 검색하면 있겠지요. 하지만 +x를 기대해 봅니다.
1. 자바는 메모리 관리 - 프로그래밍의 art 중 하나 - 를 프로그래머에게서 제외시켜 주었다.( 누구에게는 좋고, 누구에게는 나쁘다. )
2. 자바는 다중 상속을 안한다고 들었습니다. 그 의미는 무엇입니까?
제아이디와비번은 배추, 12ws 입니다.
class A{ ... } class B{ ... } class C extends A,B { ... }
상속을 받을때는 extends 로 받는데여기서 class C 와 같이 두개 이상의 클래스로부터는 상속받을수가 없게되어있습니다. 하지만 꼼수로 다중상속을 쓸 수 있는방법은 있습니다 :twisted: :twisted:
----------------------------------------
자바는 GOTO가 없습니다. :-)
class Parents { void ABC(...); } class TmpA extends Parents { ... } class TmpB extends Parents { ... } class Child extends TmpA, TmpB { ... } Child c_child = new Child; c_child.ABC();
c에서도 goto를 잘 안쓰게 되는데 굳이 쓰게 되는 경우는
while(... ){ while(...){ while(...){ while(......){ goto OOPS; } } } } OOPS:
자바에서는
OOPS: while(... ){ while(...){ while(...){ while(......){ break OOPS; } } } }
자바에서는 OOPS: while(... ){ while(...){ while(...){ while(......){ break OOPS; } } } } 이런식으로 할 수 있는걸로 알고 있습니다.
OOPS 라벨이 위쪽에 C 코드처럼 아래에 있어야 합니다.
C 언어에서의 goto 의 순기능이라면 이런 복잡한 루프를 쉽게 빠져나갈수 있다는 점이며, 위쪽으로 돌아가는 goto 를 악의축(;;) 이라고 이야기합니다.
Java 에서는 goto 의 순기능을 인정해서 break 에 라벨을 사용할 수 있게 한 것이지만, break 를 goto 처럼 사용(악용) 하지 못하도록 제약을 두었습니다. 라벨은 break 문 이후에 나와야 한다는 것입니다.
kfmes wrote:자바에서는 OOPS: while(... ){ while(...){ while(...){ while(......){ break OOPS; } } } } 이런식으로 할 수 있는걸로 알고 있습니다. OOPS 라벨이 위쪽에 C 코드처럼 아래에 있어야 합니다. C 언어에서의 goto 의 순기능이라면 이런 복잡한 루프를 쉽게 빠져나갈수 있다는 점이며, 위쪽으로 돌아가는 goto 를 악의축(;;) 이라고 이야기합니다. Java 에서는 goto 의 순기능을 인정해서 break 에 라벨을 사용할 수 있게 한 것이지만, break 를 goto 처럼 사용(악용) 하지 못하도록 제약을 두었습니다. 라벨은 break 문 이후에 나와야 한다는 것입니다.
이전에 나오는 것이 맞는 걸로 알고 있습니다. :roll:
http://java.sun.com/docs/books/tutorial/java/nutsandbolts/branch.html
간단하게...
OOPS: while(...) {
에서 OOPS 레이블은 가장 바깥 while 문을 가리킵니다. break OOPS; 하면 가장 바깥 while 문에서 탈출하라는 뜻이죠.
OOPS: while(...) { // 이 while 문은 이름이 OOPS 이다.
이렇게 되는 겁니다.
Real programmers /* don't */ comment their code. If it was hard to write, it should be /* hard to */ read.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
1. 자바는 메모리 관리 - 프로그래밍의 art 중 하나 - 를 프로그
1. 자바는 메모리 관리 - 프로그래밍의 art 중 하나 - 를 프로그래머에게서 제외시켜 주었다.( 누구에게는 좋고, 누구에게는 나쁘다. )
2. 자바는 다중 상속을 안한다고 들었습니다. 그 의미는 무엇입니까?
2. 자바는 다중 상속을 안한다고 들었습니다. 그 의미는 무엇입니까?
제아이디와비번은 배추, 12ws 입니다.
[quote="배추"]2. 자바는 다중 상속을 안한다고 들었습니다. 그
상속을 받을때는 extends 로 받는데
여기서 class C 와 같이 두개 이상의 클래스로부터는 상속받을수가 없게되어있습니다.
하지만 꼼수로 다중상속을 쓸 수 있는방법은 있습니다 :twisted: :twisted:
----------------------------------------
자바는 GOTO가 없습니다. :-)
자바는 GOTO가 없습니다. :-)
[code:1]class Parents { void AB
이렇게 되면 어떤 소속의 메소드 ABC인지 알 수 없게되어서 다중상속을 금지한다...라고 저는 배웠던 것 같습니다;
그리고 변칙적으로 Interface를 이용해 다중 상속을 지원하고;...
[quote="초보.."]자바는 GOTO가 없습니다. :-)[/quote
그 비스무리한건 있습니다 -_-;;
c에서도 goto를 잘 안쓰게 되는데
굳이 쓰게 되는 경우는
와 같은 중첩된 loop를 한번에 빠져나가기 위해서 쓰는경우가 간혹 있는데,
자바에서는
이런식으로 할 수 있는걸로 알고 있습니다.
----------------------------------------
[quote="kfmes"]자바에서는[code:1]OOPS:
OOPS 라벨이 위쪽에 C 코드처럼 아래에 있어야 합니다.
C 언어에서의 goto 의 순기능이라면 이런 복잡한 루프를 쉽게 빠져나갈수 있다는 점이며,
위쪽으로 돌아가는 goto 를 악의축(;;) 이라고 이야기합니다.
Java 에서는 goto 의 순기능을 인정해서 break 에 라벨을 사용할 수 있게 한 것이지만,
break 를 goto 처럼 사용(악용) 하지 못하도록 제약을 두었습니다.
라벨은 break 문 이후에 나와야 한다는 것입니다.
[quote="kslee80"][quote="kfmes"]자바에서는[
이전에 나오는 것이 맞는 걸로 알고 있습니다. :roll:
http://java.sun.com/docs/books/tutorial/java/nutsandbolts/branch.html
간단하게...[code:1]OOPS:while(
간단하게...
에서 OOPS 레이블은 가장 바깥 while 문을 가리킵니다.
break OOPS; 하면 가장 바깥 while 문에서 탈출하라는 뜻이죠.
OOPS: while(...) { // 이 while 문은 이름이 OOPS 이다.
이렇게 되는 겁니다.
Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.
댓글 달기