일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- python popen
- c3 step graph
- semanage
- centos pyhon 설치
- c3 second
- c3 축 없애기
- 백준
- telegraf
- 정규식 문자열 출력
- gcc regex
- c3 초
- linux시간으로 변경
- c3 축 가리기
- CentOS7
- 1697
- influxdb 설치
- c++ 정규식
- snmp
- python subprocess
- g++ 업데이트
- grafana dashboard
- InfluxDB
- 정규식 활용
- subporcess path
- 정규식 컴파일
- python os
- selinux port 등록
- gcc 업데이트
- snmp test
- regex_search
- Today
- Total
목록Java(폐지)/Java 공부 (21)
리셋 되지 말자
소스 코드 분명 펭귄 클래스를 인스턴스화 하여 객체참조변수인 뽀로로로 test() 메서드를 실행했는데 디버그의 스택 정보를 보면 실행이 '펭귄.test()'로 되어있는것을 확인할 수 있다. JVM의 정적화 만약 펭귄 배열 100칸을 만든다고 하면 힙 메모리 영역에 똑같은 test()메서드를 100개 만드는 것은 메모리 낭비라고 할 수 있다. 그래서 JVM은 지능적으로 객체 멤버 메서드 test()를 스태틱 영역에 단 하나만 보유한다. 그리고 눈에 보이지 않지만 test() 메서드를 호출할 때 객체 자신을 나타내는 this 객체 참조 변수를 넘긴다. 즉, 위의 코드는 JVM에 의하여 아래의 코드로 변경된다고 생각하면 된다. package stack01; class 펭귄 { static void test(펭..
super 키워드 this는 객체 멤버 메서드 내부에서 객체 자신을 지칭하는 키워드이다. super는 바로 위 상위 클래스의 인스턴스를 지칭하는 키워드이다. 예제 package super01; class 동물{ void method() { System.out.println("동물"); } } class 조류 extends 동물 { void method() { super.method(); System.out.println("조류"); } } class 펭귄 extends 조류 { void method() { super.method(); System.out.println("펭귄"); } } public class Driver { public static void main(String[] args) { 펭귄 ..
this 키워드 this는 객체가 자기 자신을 지칭할 때 쓰는 키워드다. 예제 코드 package this01; class 펭귄 { int var = 10; void test() { int var = 20; System.out.println(var); System.out.println(this.var); } } public class Driver { public static void main(String[] args) { 펭귄 뽀로로 = new 펭귄(); 뽀로로.test(); } } 결과 20 10 var 변수는 main() 스택 프레임의 지역 변수(20)가 존재하고, 뽀로로 객체 멤버 변수(10)도 존재한다. 이 때, var을 출력하게되면 우선순위가 지역변수인 var에 있어서 20이 출력된다. 이때 지..
어려워서 패스(나중에 한번 살펴보자) 람다(Lambda) https://coding-factory.tistory.com/265 위에 정리가 잘 되어 있어서 기록. C/C++ : 함수 포인터 C# : 델리게이트(Delegate) 자바스크립트 : 함수를 저장하는 변수 / 함수 인자로 callback을 전달
interface 키워드 interface는 public 추상 메서드와 public 정적 상수만 가질 수 있다. 예시 package interface01; interface Speakable { double PI = 3.141592; final double absoluteZeroPoint = -275.15; void sayYes(); } class Speaker implements Speakable{ public void sayYes() { System.out.println("Yes Yes"); } } public class Driver { public static void main(String[] args) { System.out.println(Speakable.PI); System.out.printl..
package 키워드 package 키워드는 네임스페이스(이름공간)를 만들어주는 역할을 한다. 네임스페이스가 필요한 이유 각기 다른 부서의 개발팀에서 프로젝트를 진행하는데 두 부서가 Customer 라는 클래스를 모두 작성한다면 충돌이 생긴다. 이럴 때 네임스페이스(이름 공간)을 나누어 팀1에서는 팀1.Customer라고 클래스의 이름을 지정하고, 팀2에서는 팀2.Customer로 클래스의 이름을 지정하여 충돌을 피한다. 자바에서 자주 사용되는 기본 패키지 기본 패키지 설명 java.lang 기본적인 클래스 제공(자동으로 import) java.awt GUI에 관한 클래스 제공 java.io 데이터 입출력에 관한 클래스 제공 java.util 유용한 유틸리티 클래스 제공(?) java.net 네트워크 관..
instanceof 연산자 인스턴스는 '클래스를 통해 만들어진 객체'이다. instanceof 연산자는 만들어진 객체가 특정 클래스의 인스턴스인지 물어보는 연산자다. instanceof 연산자는 결과로 true 또는 false를 반납한다. 사용법 객체_참조_변수 instanceof 클래스명예제1 package instanceofOf01; class 동물 { } class 조류 extends 동물 { } class 펭귄 extends 조류 { } public class Driver { public static void main(String[] args) { 동물 동물객체 = new 동물(); 조류 조류객체 = new 조류(); 펭귄 펭귄객체 = new 펭귄(); System.out.print..
fianl 키워드 final은 마지막, 최종이라는 의미를 갖는다. final 키워드가 나타날 수 있는 곳은 세 가지 클래스, 변수, 메서드다. (객체 지향 언어의 구성요소가 이 세가지다...) fianl과 클래스 아래와 같이 클래스에 final이 붙는다면 상속을 허락하지 않겠다는 의미다. package finalClass; public final class 고양이 { }그러면 아래처럼 상속을 할 수 없다. package finalClass; public class 길고양이 extends 고양이 { } 고양이에 빨간 줄이 생기면서 'The type 길고양이 cannot subclass the final class 고양이'라는 오류를 출력한다. final과 변수 변수에 final이 붙으면 &#..