[자바의 정석] 상속, 참조변수 super, 생성자 super()
·
📝 끄적끄적/🖥️ 자바의 정석
상속기존의 클래스로 새로운 클래스를 작성하는 것(코드의 재사용)두 클래스를 부모와 자식으로 관계를 맺어주는 것class Car {}class FireEngine extends Car {}자손은 조상의 모든 멤버를 상속받는다.(생성자, 초기화블럭 제외)왜 자손과 조상이라는 단어를 사용했느냐?부모의 부모도 있을 수 있다. 바로 위에 부모것만 상속받는 게 아니기 때문이다.자손의 멤버 개수는 조상보다 적을 수 없다.(같거나 많다.)자손의 변경은 조상에 영향을 미치지 않는다.자식 클래스의 변경이 있어도 조상에 영향이 가지 않는다.class Tv { boolean power; // 전원상태(on/off) int channel; // 채널 void power() { power = !power; } ..
[자바의 정석] 생성자, 변수/멤버 변수의 초기화
·
📝 끄적끄적/🖥️ 자바의 정석
챕터 6 끝!19개의 영상에서 많은 걸 배웠다.7까지 달려보자 아자자 생성자(contrunctor)인스턴스가 생성될 때마다 호출되는 ‘인스턴스 초기화 메서드’인스턴스 초기화 메서드란? 인스턴스 변수 초기화하는 메서드이다.Time t = new Time(); //객체 생성t.hour = 12; //초기화t.minute = 34; //초기화t.second = 56; //초기화 ❓이것을 간단하게 할 수 없을까Time t = new Time(12, 34, 56); //생성자 호출 특징이름이 클래스 이름과 같아야 한다.리턴값이 없다.(void 안 붙임)모든 클래스는 반드시 생성자를 가져야 한다. 기본 생성자매개 변수가 없는 생성자생성자가 하나도 없을 때만, 컴파일러가 자동 추가매개변수가 있는 생성자를 만든 후, ..
[자바의 정석] static 메서드와 인스턴스 메서드, 오버로딩
·
📝 끄적끄적/🖥️ 자바의 정석
static 메서드와 인스턴스 메서드인스턴스 메서드인스턴스 생성 후 ‘참조변수. 메서드이름()’로 호출인스턴스 멤버와 관련된 작업을 하는 메서드메서드 내에서 인스턴스 변수 사용가능 static 메서드(클래스메서드)객체생성없이 ‘클래스이름. 메서드이름()’으로 호출인스턴스 멤버와 관련없는 작업을 하는 메서드메서드 내에서 인스턴스 변수 사용불가 결론메서드 내에서 인스턴스 변수를 쓰냐 안 쓰냐의 차이다.class MyMath2 { long a, b; //인스턴스변수 a, b만을 이용해서 작업하므로 매개변수가 필요없다. long add(){ return a + b; // a, b는 인스턴스변수 } //인스턴스변수와 관계없이 매개변수만으로 작업이 가능하다. static long add(long a, lo..
[자바의 정석] 기본형/참조형 매개변수, 참조형 반환타입
·
📝 끄적끄적/🖥️ 자바의 정석
기본형 매개변수class Data { int x; }class PrimitiveParamEx { public static void main(String[] args) { Data d = new Data(); d.x = 10; System.out.println("main() : x = " + d.x); change(d.x); System.out.println("After change(d.x)"); System.out.println("main() : x = " + d.x); } static void change(int x) { // 기본형 매개변수 x = 1000; System.out.println("change() : x = " + x); }}//결과//main() : x = 10//cha..
[자바의 정석] 클래스 변수와 인스턴스 변수, 호출스택
·
📝 끄적끄적/🖥️ 자바의 정석
선언위치에 따른 변수의 종류lv는 메소드가 시작하고 끝날 때까지만 유효 = 메소드 종료 시 자동제거클래스 변수와 인스턴스 변수카드라는 객체 2개가 있다.개별적인 속성(숫자, 무늬) = 인스턴스 변수 = iv공통적인 속성(폭,높이) = 클래스 변수 = cv = static class Card { String kind; //무늬 int number; //숫자 static int width = 100; //폭 static int height = 200; //높이}//예제Card c = new Card();c.king = "HEART";c.number = 5;//참조변수로 가능하나 권장 안함c.width = 200;c.height = 300;//권장Card.width = 200;Card.heihjt = 300;..
[Git] git push ssh: connect to host github.com port 22: Connection timed out 에러
·
🛠 DevOps & Tool/Git
에러 ssh: connect to host github.com port 22: Connection timed out fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. git push하는데 이런 오류가 발생했다.. 회사에서 예제 커밋하는거라 방화벽에서 막았나? 생각했는데, 다른 repo는 push가 잘됐다..; 해결 실패 검색해서 아래 2가지 방법을 따라해봤는데 안됐다. 1. $ vim ~/.ssh/config 아래 내용을 추가 Host github.com Hostname ssh.github.com Port 443 2. // 1. re..
[자바의 정석] 클래스와 객체
·
📝 끄적끄적/🖥️ 자바의 정석
객체지향에 대한 내용을 복기하고자 자바 시작할 때 읽었던 자바의 정석 객체지향 부분을 다시 수강했다.아는 부분도 있었지만, 앗 이걸 까먹다니 하는 부분도 정말 많았다.또 소스 짜면서 궁금했던 부분도 짚어주셔서 이래서 자버지라 불리시는구나 했다. 회사에서 노션을 막아버려서 노션에 정리해놨던 것을 포스팅하고,개발하면서 틈틈이 보려고 한다. OOP ( object - oriented programming)1. 캡슐화2. 상속3. 추상화4. 다형성 선생님 왈 다형성이 제일 중요하다고 생각함.강의를 보면서 정확히 OOP를 이해해 보자. 객체 지향 개념은 어떻게 공부해야 하나요??객체 지향은 반복할수록 이해도가 올라간다.외워라! 넵 클래스클래스의 정의 - 클래스란 객체를 정의해 놓은 것클래스의 용도 - 클래스는 객..