본문 바로가기

개발 노트/기초 지식42

[java] printf() , println(), 서식지정자 println() 의 사용 println() 의 경우 ()안의 매개 변수 값으로 숫자와 문자열을 모두 가질수 있다 (boolean 도 가능, true false 는 "" 없이 입력됨) print()의 경우와 동일하며 ln 을 붙이는 것으로 줄바꿈을 추가명령한 것 뿐이다 system.out.println(10); // 10 숫자 system.out.println(true); // true - ()안에 따옴표가 필요없다 = 문자열이 아닌 boolean 타입이다 system.out.println("INFP"); // INFP - 문자열 char[] toc = {'t', 'o', 'k','k','i','c'}; system.out.println(toc); // tokkic - 배열 내부 요소도 출력 system.. 2022. 4. 26.
[java] final final 키워드는 보통 상수타입인 변수를 정의할때 사용된다 데이터의 수정이 불가능 하도록 할때 사용한다 final 은 사용위치마다 사용이 달라지는데 final 클래스명 // 클래스명 앞에 붙으면 해당 클래스는 상속이 불가능하다 final 메소드명 // 메소드명 앞에 붙으면 해당 메소드의 클래스는 상속 가능하지만 해당 메소드를 overriding 할수없다 final 메소드 내부의 인자 // 해당 메소드 내부에서 final 이 붙은 인자의 값은 변경 불가하다 즉, 사용자가 값을 임의로 설정하거나 상속하여 변경할수없도록 하기 위해서 final 을 붙여 보호할수있다 2022. 4. 25.
[java] abstract extends 를 통한 상속이 강요되는 추상적인 abstract 메소드를 하나 이상 포함한 클래스를 abstract 클래스라고 한다 간단히 설명하자면 다양한 경우의 수가 존재하는 것을 만들고자 할때 그 공통적인 개념만을 클래스로 만들고 구체적인 부분은 상속을 통해 자식 클래스에서 가져와 재정의 overriding 하여 사용하는 것이다 abstract 클래스는 abstract 메소드를 하나 이상 가지고 있으므로 자신만으로는 정보가 불완전 하므로 제대로 정의내릴수 없다. 즉 인스턴스화가 불가하다 상속을 통해 가져와서 overriding 으로 추상적인 부분(=설명이 부족한 부분)을 재정의하여야만 인스턴스화 시킬수있다 2022. 4. 25.
[java] overload, override overload overload 의 뜻은 과적하다, 과부하하다, 너무많이주다 이다 자바에서 변수의 경우 a = b 라면 b의 값을 a 에 준것이고, 여기서 a = c 를 하면 c의 값을 a에 주게되어 기존 b의 값은 사라져버린다. 이렇듯 하나의 변수에는 하나의 값만 가진다 하지만 메소드의 경우, a = b 로 b의 값을 a에 주고, a = c 로 c 의 값을 a 에 주어도 a는 b와 c 의 값을 모두 가질수 있다. 1:1 대응이 아닌 1:여러개 의 값을 가지게 하여 과적하게 하는 것을 overload 라고 한다 override 부모 클래스의 메소드를 자식 클래스에서 재정의 하여 사용하는 것, 부모 메소드 가져와서 덮어쓰기로 보면 된다 override 의 뜻은 이전 기능을 무시한다는 뜻이 있다 즉, 상속으.. 2022. 4. 25.