전체 글

매일 발전하는 백엔드 개발자
자바

java String class

생성자 차이 String s1 = new String("java") > 힙메모리에 생성 , 같은 문자끼리 != String s2 = "java" > 힙 메모리 속의 String Pool에 생성, 같은 문자끼리 == 문자열 비교 boolean equals(Object anObject) : 대소문자 비교, Object class euqlas 오버라이딩 boolean equalsIgnoreCase(String aotherString) : 대소문자 무시 문자열 출력 String toString() : 모든 객체는 참조변수만 출력하면 참조변수.toString() 실행, Object class toString 오버라이딩 문자열 정보 int length() char charAt(int index) 문자열 공백 tri..

자바

java Object Class

해시 코드 public int hashCode() 인스턴스 생성시 만들어지는 일련번호 클래스 정보 public final Class getClass() 인스턴스의 정보를 가지는 Class 객체 생성후 반환 문자열로 표현 public String toString() getClass().getName() + "@" Integer.toHexString(hashCode()) 같은지 비교 public boolean equlas(Object obj) 해시코드 비교해서 같은지 비교

개발 도서/처음 해보는 자바 프로그래밍

8장 다형성과 내부 클래스

다형성의 원리 상속하지 않은 클래스는 Object 클래스를 자동상속 java.base > java.lang > Object toString() : 패키지+클래스@인스턴스id 반환 equals() : 현재 객체와 인자로 전달된 객체가 같은지 판단(인스턴스 주소 비교) 다형성의 필요성 메서드 : 하나의 메서드 선언으로 다양한 타입의 인자를 받아 처리하기 위해 배열 : 여러 참조변수들을 하나로 묶어서 사용할때 다형성의 활용 instanceof 연산 : 참조변수 instanceof 객체타입 타입변경 매개변수 타입을 부모타입으로 선언 instaceof로 타입검사 타입변경 후 차별작업 내부 클래스 특정 클래스에서만 사용할때 사용 종류 인스턴스 멤버 클래스 자신이 속한 외부 클래스의 인스턴스 접근가능, 정적 필드 메..

개발 도서/처음 해보는 자바 프로그래밍

7장

클래스간 중복 제거하기 위해 상속과 인터페이스 중복 제거 조건 1. 공통멤버를 가지는 클래스들 간의 공통점이 있는가? 2. is kind of 관계가 성립하는가? 자식 클래스 인스턴스 처리 순서 상속한 부모클래스 먼저 생성 이후 자식클래스 생성 public class Employee{} public class LMSTest{ public static void main(String[] args){ Employee e = new Employee(); } } 스택에 생긴 e 에서 힙에 생긴 Employee에 접근 자식 클래스에서 this로 부모 클래스 멤버 변수에 접근가능 super class A extends B A 클래스내에서 this == A, super ==B super는 상속받은 클래스의 모든 생성자..

개발 도서/처음 해보는 자바 프로그래밍

처음 해보는 자바 프로그래밍 6장

인스턴스? 객체 : 속성과 행동으로 구성된 하나의 단위(전산화하려는 실체) 클래스 : 객체를 만드는 설계도 인스턴스 : 클래스를 메모리에 new 명령문으로 생성한 객체 자바의 메모리 메소드 영역 : class 파일 실행 시 JVM 클래스로더가 실행하기 위해 클래스의 메소드 및 레퍼런스를 메소드 영역에 올림모리 힙 영역 : 클래스의 인스턴스 생성될때 저장(필드값만) 스택 영역 : 자바가 접근할 수 있는 유일한 메모리, 힙 메모리에 할당된 인스턴스 참조 정보를 저장함, 지역변수 저장 JVM에서 메모리 변수 검색 순서 1. 현재 실행 중인 메서드의 스택 영역 검색 2. 스택에 없으면 this가 참조하는 인스턴스 필드 검색 static : 메소드 영역의 스태틱 존에 클래스파일 실행 시 바로 올라감 스태틱 붙은 ..

개발 도서/처음 해보는 자바 프로그래밍

1장, 2장

프로그램 개발 순서 소스파일 >> 컴파일 >> 실행파일 >> 실행 >> 컴퓨터 컴파일 고급언어(자바, 소스파일)는 저급언어(기계어, 실행파일)로 컴파일 필요. 자바 실행파일 자바 소스파일 >> 컴파일 >> 실행파일(바이트코드, 기계어 아님) >> 실행 >> JVM >> 컴퓨터 *.java javac *.java *.class java *(class 확장자 생략) JVM 실행환경 운영체제에 맞는 JVM에서 바이트코드만 돌리면 되기 때문에 자바는 플랫폼 종속적이지 않음 클래스로더 : 실행에 필요한 클래스 찾아줌 바이트코드 검증 : 실행파일 코드의 유효성 검증 JIT 컴파일러 : 기계어 코드로 변환,,, 한줄씩 변환해주는 인터프리터 방식, 전체 변환해주는 컴파일 방식 자바 플랫폼 JAVA SE(Standard..

독서/넓고 얕은 지식

경제3-신자유주의와 공산주의

앞서 정부의 지나친 개입으로 경제적으로 침체가 일어난 후기 자본주의 이후에 정부의 개입의 줄어들고 시장의 자유가 활성화된 신자유주의가 만들어지게 된다. 시장의 자유가 활성화 되 다시 생산수단을 갖고 부를 축적한 이들에게 유리한 사회가 되어 거대기업들이 자본력을 바탕으로 하나하나 독점 해가기 시작한다. 수많은 노동자들을 거느린 기업은 경제적으로 침체가 오든 호황이 오든, 인건비와 순이익을 줄여가며 자신은 무조건 이득을 볼 수 있지만 노동자들을 침체가 오면 바로 생산활동에 참여하지 못하게 될 위기에 처한다. 이에 따라 마르크스는 헤겔의 변증법을 통해 공산주의를 탄생시킨다. 여기서 변증법은 처음 어떤 존재가 생기면(정) 그것에 대립하는 존재가 생기게 되고(반) 결국에 이들은 부딪혀서 새로운 존재(합)로 전개된..

독서/넓고 얕은 지식

경제 -2(초기자본주의, 후기자본주의)

자본주의는 사유재산과 생산수단을 개인이 소유 할 수 있다. 생산수단을 개인이 소유 할 수 있다는 점에서 사회주의와 다르다. 그리고 공급이 소비보다 대체로 많다. 초기자본주의는 정부의 개입 없이 시장이 알아서 돌아간다.(애덤스미스의 보이지 않는 손) 능력있는 사람은 초기자본주의형태를 원하지만 애초에 부를 소유하고있는사람도 초기자본주의를 선호한다. 생산수단을 가진 사람과 안 가진 자의 벽이 명확하기 때문에 많은 사람들이 돈을 벌지 못하고, 이는 소비의 침체로 또 경제대공황으로 이어졌다. 그래서 해결책으로 미국은 정부의 개입이 큰 후기자본주의(수정자본주의), 소련은 공산주의, 독일은 세계2차대전을 냈다. 후기자본주의는 정부의 개입이 크다. 정부의 개입이 큰 것은 세금이 많은 것을 의미하고 이에 따라 복지도 증..

비오베베
우당탕탕 개발