Programming/Java2014. 3. 11. 18:00
New - JUnit Test Case로 Junit 생성


귀찮으니.. 걍 기본 값으로 설정


클래스내의 테스트할 메소드를 선택


처음 생성해서인지 JUnit build path 추가 해야 한다고 알려주니 OK


Test.java와 JUnit 4가 추가 된 Package Explorer의 모습


자동 생성된 Junit용 MP3pTest.java 파일
import static org.junit.Assert.*;
import org.junit.Test;

public class MP3pTest {

@Test
public void testMemoryUp()
{
fail("Not yet implemented");
}

@Test
public void testSetColor()
{
fail("Not yet implemented");
}
} 

이후에는 테스트용 내용을 채워 넣으면 간단하게 끝인... 듯?
난 안착하니까 걍 실행해보니 Failuer 2건 ㅋㅋㅋ


[링크 : http://computtee.tistory.com/65]

Posted by 구차니
Programming/Java2014. 3. 11. 17:07
java에서 class 에 접근제한을 하지 않고 (ex. public class) 생성시에는
동일 패키지에 대해서만 접근이 가능하도록 생성이 된다.

[링크 : http://stackoverflow.com/questions/16164902/what-is-the-default-access-modifier-in-java]

 A class may be declared with the modifier public, in which case that class is visible to all classes everywhere. If a class has no modifier (the default, also known as package-private), it is visible only within its own package (packages are named groups of related classes — you will learn about them in a later lesson.)
 

[링크 : http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html


public > protected > default > private
public - 전부 허용
protected - 동일 패키지, 상속관계시 허용
default - 동일 패키지, 전부 허용
private - 현재 class / object만 허용

'Programming > Java' 카테고리의 다른 글

java 1.5 이후 추가 for-each / varargs(autoboxing)  (0) 2014.03.11
JUnit 사용 예  (0) 2014.03.11
*.java 파일 하나에 여러개의 class 생성  (0) 2014.03.11
java 명령어 줄 인수  (0) 2014.03.10
java break / continue  (0) 2014.03.10
Posted by 구차니
Programming/Java2014. 3. 11. 17:01
하나의 파일에 여러개의 class를 추가할수 있으나
파일명과 동일한 클래스는 반드시 public 이어야 한다.
그리고 동일 파일내에 다른 클래스들 역시 독립된 *.class 파일로 생성된다.

[링크 : https://kldp.org/node/69225]
[링크 : http://k.daum.net/qna/view.html?qid=3fqBg]

'Programming > Java' 카테고리의 다른 글

JUnit 사용 예  (0) 2014.03.11
java class default access modifier  (0) 2014.03.11
java 명령어 줄 인수  (0) 2014.03.10
java break / continue  (0) 2014.03.10
java와 cpp의 차이점 - 연산자 오버로딩 / 다중상속  (0) 2014.03.10
Posted by 구차니
Programming/C Win32 MFC2014. 3. 11. 16:30
gcc의 확장 기능으로
형의 종류를 알려준다고 하는데.. c++용인지 c용인지 모르겠다 -_-

[링크 : http://stackoverflow.com/questions/12081502/typeof-operator-in-c]
[링크 : http://codecat.tistory.com/entry/GCC-typeof]

If you are writing a header file that must work when included in ISO C programs, write __typeof__ instead of typeof.

[링크 : http://gcc.gnu.org/onlinedocs/gcc/Typeof.html
[링크 : http://en.wikipedia.org/wiki/Typeof]
[링크 : http://en.wikipedia.org/wiki/Typeid]

'Programming > C Win32 MFC' 카테고리의 다른 글

순열생성관련  (0) 2014.06.27
2중 포인터 사용이유  (0) 2014.03.19
const / pointer  (0) 2014.02.25
assert()  (0) 2013.12.18
printf의 %s와 %S  (0) 2013.06.15
Posted by 구차니
Programming/Java2014. 3. 10. 17:09
java는 파일명이 클래스명과 동일해야 하므로
c와 같이 인자 0번이 실행된 파일의 이름이 아니라 첫번째 인자가 들어온다.

public class test {

public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(args.length);
for(int i = 0; i < args.length;i++)
System.out.println(args[i]);
}
}

일반적으로 많이 쓰일 문자열 인자를 숫자로 바꾸어주는 parse 관련 클래스/메소드들
Char 클래스는 존재하지 않나? 
Double.parseDouble();
Float.parseFloat();
Boolean.parseBoolean();
Byte.parseByte();
Short.parseShort();
Integer.parseInt(s);
Long.parseLong(); 

[링크 : http://docs.oracle.com/javase/tutorial/essential/environment/cmdLineArgs.html]
Posted by 구차니
Programming/Java2014. 3. 10. 16:32
java에서는 goto가 없지만 break와 continue에 label을 지원한다.
[링크 : http://stackoverflow.com/questions/2545103/is-there-a-goto-statement-in-java]

 The break statement terminates the labeled statement; it does not transfer the flow of control to the label. Control flow is transferred to the statement immediately following the labeled (terminated) statement.

[링크 : http://stackoverflow.com/questions/14960419/is-using-a-labeled-break-a-good-practice-in-java

단, 반복문과 라벨 사이에는 어떠한 문장도 들어가서는 안되며 무언가가 삽입되었을 시에는
"The label -label name- is missing"이라는 에러가 발생된다.


[링크 : http://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html]
Posted by 구차니
Programming/Java2014. 3. 10. 13:10
연산자 오버로딩 / 다중 상속을
cpp는  허용
자바는 허용하지 않는다.


다중상속의 경우 다중상속시 상속했던 클래스들을 모두 알아야 하기에 정보 은닉 및 캡슐화에 치명적이고
(결국 볼게 더 많아진 c 일뿐 유지 보수 측면에서)

연산자 오버로딩은 변형이 심하게 될 경우 파악해야할 부분이 많이 늘어나기에 가독성이 떨어져서 이래저래 빼버린듯 하다.
(극단적으로 클래스에 대한 operator[] 를 전혀 다르게 정의해서 사용한다면
배열로 사용할 수 없지만 해석하는 사람으로서는 혼동할 수 밖에 없다.)

'Programming > Java' 카테고리의 다른 글

java 명령어 줄 인수  (0) 2014.03.10
java break / continue  (0) 2014.03.10
java explicit upcasting 묵시적 형변환  (0) 2014.03.07
java byte 형의 오묘함  (0) 2014.03.07
java primitive data type + 연산자  (0) 2014.03.07
Posted by 구차니
Programming/C++ STL2014. 3. 10. 13:00
변수형
bool - true / false

함수 확장
class - class / friend / virtual / overriding
template - template / overloading

상속/객체
const 키워드 확장 (컴파일러 레벨에서의 함수내 값변경 방지)
static 키워드 확장 (java의 private?)

포인터 확장
this
& (reference) 

예외처리
try
catch
throw 


constructor (create triggered action) / destructor (remove triggered action) 를 통해 자동화를 지원
기존의 static 을 통한 파일 단위의 접근 제어에서 클래스 단위 접근 제어 확장
try-catch-throw를 통한 goto 문의 사형선언
overloading과 template을 통한 개발의 용의함(overloading을 통한 타입의 identifier화) 

이런게 c와 cpp을 구분짓는 가장 큰 요소인것 같다. 

'Programming > C++ STL' 카테고리의 다른 글

cpp 와 java의 차이점(문법)  (0) 2014.03.14
cpp 디폴트 매개변수  (0) 2014.03.12
오버로딩 / 오버라이딩  (0) 2014.03.10
try - throw - catch  (0) 2014.03.05
연산자 오버로딩  (0) 2014.03.04
Posted by 구차니
Programming/C++ STL2014. 3. 10. 12:49
오버로딩은 동일 이름의 함수에
인자의 갯수나 타입에 따라서 다르게 작동하도록
함수를 중첩/중복 시킨다.

over load + ing에 걸맞게
함수명 중복정의 이런식으로 했으면 좀 쉬웠으려나?

2013/03/04 - [Programming/C++ / STL] - c++ function overloading


그리고 오버라이딩은
상속관계에서 이전에 정의된 함수를 갈아 엎고
함수 이름과 인자가 동일하지만 작동을 전혀 다르게 할 경우 사용한다.

over ride + ing 을 함수 재정의 라고 하기도 한다.

일단.. overloading은 능동형이고 짐을 더 올려주는 느낌이라면
overriding은 피동형(올라타버림) 이고 주도권을 빼앗겨지는 느낌

load와 ride의 느낌이 비슷해서 였을까..
왜 예전에는 두개가 이렇게 헷갈렸을까 ㅠㅠ 

'Programming > C++ STL' 카테고리의 다른 글

cpp 디폴트 매개변수  (0) 2014.03.12
c -> cpp 추가사항  (0) 2014.03.10
try - throw - catch  (0) 2014.03.05
연산자 오버로딩  (0) 2014.03.04
c++ explicit  (0) 2014.02.28
Posted by 구차니
Programming/Java2014. 3. 7. 21:20
문득 c나 cpp에서도 그런진 모르겠지만..
(type binding을 지원하는 cpp는 되지 않을까?) 

일단 타입이 강하게 묶여있기 때문에
int 형으로 계산을 하고 나서 long 형으로 변환하는 건 이미 데이터가 손실 되어 의미가 없어진다.
무조건 계산 전에는 형 변환을 해주고 시작하는 것이 옳다(!).

그리고 두개의 크기가 다른 타입을 계산할 경우 자동으로 큰 쪽으로 맞추어지나
정수형은 int 형이 최고 타입으로 long 형으로는 자동적으로 크기가 키워지진 않는다.

System.out.println(1000000 * 1000000);
System.out.println(1000000 * (long)1000000);
System.out.println((long)1000000 * 1000000);
System.out.println((long)1000000 * (long)1000000);
System.out.println((long)(1000000 * 1000000));
System.out.println(1000000 * 1000000L);
System.out.println(1000000L * 1000000);
System.out.println(1000000L * 1000000L); 

-727379968
1000000000000
1000000000000
1000000000000
-727379968
1000000000000
1000000000000
1000000000000 

'Programming > Java' 카테고리의 다른 글

java break / continue  (0) 2014.03.10
java와 cpp의 차이점 - 연산자 오버로딩 / 다중상속  (0) 2014.03.10
java byte 형의 오묘함  (0) 2014.03.07
java primitive data type + 연산자  (0) 2014.03.07
java framework  (0) 2014.03.06
Posted by 구차니