[자바의 정석] 상속, 참조변수 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;..
[자바의 정석] 클래스와 객체
·
📝 끄적끄적/🖥️ 자바의 정석
객체지향에 대한 내용을 복기하고자 자바 시작할 때 읽었던 자바의 정석 객체지향 부분을 다시 수강했다.아는 부분도 있었지만, 앗 이걸 까먹다니 하는 부분도 정말 많았다.또 소스 짜면서 궁금했던 부분도 짚어주셔서 이래서 자버지라 불리시는구나 했다. 회사에서 노션을 막아버려서 노션에 정리해놨던 것을 포스팅하고,개발하면서 틈틈이 보려고 한다. OOP ( object - oriented programming)1. 캡슐화2. 상속3. 추상화4. 다형성 선생님 왈 다형성이 제일 중요하다고 생각함.강의를 보면서 정확히 OOP를 이해해 보자. 객체 지향 개념은 어떻게 공부해야 하나요??객체 지향은 반복할수록 이해도가 올라간다.외워라! 넵 클래스클래스의 정의 - 클래스란 객체를 정의해 놓은 것클래스의 용도 - 클래스는 객..
[F-lab]상담 후기
·
📝 끄적끄적/F-Lab
- 커리큘럼이 줄었던데 퀄리티 변화가 있는지? 없다. 비용에 부담을 느껴서 비용을 줄이고 1:1로 바꿨을뿐 - 스프링을 왜 쓰는지. 객체지향이 뭔지. 기초 cs질문을 하셨음 어려움- 지금 야근과 주말출근이 많아 멘토링에 집중할 수 없을 것 같은데 좀 시간이 나면 시작하는게 좋지 않을까요 물론 그렇지만 빨리 시작할수록 좋다고 생각한다 - 지금 기초가 부족해서 가격이 가격인만큼 양질의 멘토링을 받고 싶은데 혼자 조금 공부해가면 커리큘럼이 달라지는지? 달라지지 않는다.어차피 혼자 공부하고 오신다고 해도 제대로 공부하지 않을 확률이 높기때문 - 연장 수업이 존재한다..등등 기억이 잘 안남