[자바의 정석 - 기초편] ch7-10,11 참조변수 super, 생성자 super()

  Рет қаралды 37,174

남궁성의 정석코딩

남궁성의 정석코딩

Күн бұрын

Пікірлер: 151
@박민용-u1z
@박민용-u1z Жыл бұрын
사랑합니다 교수님
@정현섭-c7f
@정현섭-c7f 4 жыл бұрын
10:04 여기 듣다가 스터디카페에서 웃음 참느라 식겁ㅋㅋㅋㅋㅋㅋ
@편현지
@편현지 3 жыл бұрын
아 너무웃겨요 ㅋㅋㅋㅋㅋㅋㅋ
@biang4202
@biang4202 4 жыл бұрын
2회 공부하였습니다
@yhj2673
@yhj2673 Жыл бұрын
2023.10.28 완료 day 11
@kams2348
@kams2348 4 жыл бұрын
2회 시청완료입니다.
@이상수-f9l
@이상수-f9l 4 жыл бұрын
2회 시청완료입니다
@kams2348
@kams2348 4 жыл бұрын
4회 시청완료입니다.
@유부유부-e5o
@유부유부-e5o Жыл бұрын
14:28 생성자 조건 충족 안됐을 때 에러 - 생성자 첫줄에 반드시 다른 생성자를 호출해야한다 - 기본 생성자 작성 필수
@intellj3
@intellj3 3 жыл бұрын
4.17
@오빈-k6k
@오빈-k6k Жыл бұрын
상속받은 클래스의 인스턴스를 생성할 때 생성자를 호출하게 되고 생성자의 첫줄에 생성자를 호출하는 코드가 없다면 자동으로 부모 생성자를 호출하는 super()키워드 삽입 이때 부모에서 매개변수 생성자만 있게 된다면 기본생성자가 없으므로 오류가 발생 왜냐하면 super()키워드는 부모의 기본생성자를 호출하기 때문 해결방안 : 부모 클래스에서 매개변수 생성자만 있다면 자식클래스에서 조상의 인스턴스 변수에 맞춰서 생성자를 호출 하는 코드를 작성해야 함
@이범우-n5l
@이범우-n5l Жыл бұрын
궁금한 게 있습니다! 6:28에 Child클래스 타입의 참조변수 c와 만들어진 인스턴스의 바깥에서 super과 this가 주소 100을 가리키고 있습니다. 자바의 정석 책 330쪽에 보면 '모든 인스턴스메서드에는 자신이 속한 인스턴스의 주소가 지역변수로 저장되는데, 이것이 참조변수읜 this와 super의 값이 된다.'고 써 있습니다. this와 super은 인스턴스메서드 안에 있으니까 저 super와 this는 개념적으로는 method칸 안에 있다고 생각하면 될까요?
@MasterNKS
@MasterNKS Жыл бұрын
this와 super는 사실 지역변수 입니다.
@현실김-e7d
@현실김-e7d 3 жыл бұрын
강의 잘 듣고 있어요. 항상 감사드려요.
@kostralia442
@kostralia442 2 жыл бұрын
강의력 머박.. 스프링도 수강했습니다 선생님!!
@김충현-v3m
@김충현-v3m 3 жыл бұрын
복습중! 좋은 강의 감사합니다
@givemeawit
@givemeawit Жыл бұрын
430분= 7시간10분
@davidbyeon3370
@davidbyeon3370 4 жыл бұрын
1회시청완료
@celineheo8224
@celineheo8224 4 жыл бұрын
기본생성자에 super()가 컴파일러가 자동으로 넣어준다는 걸 처음 알았어요.ㅠㅠ 모든 생성자는 첫줄에 다른 생성자를 호출해야한다 꼭 기억할게요
@김병은-y8j
@김병은-y8j 4 жыл бұрын
2회 시청 완료하였습니다.
@optional5459
@optional5459 4 жыл бұрын
1회 시청 2020-12-09 super,this super(),this() 잘 구분하기
@biang4202
@biang4202 4 жыл бұрын
1회 시청 완료 하였습니다.
@뭘안다고그렇게떠드는
@뭘안다고그렇게떠드는 4 жыл бұрын
2회 시청완료!
@냥냥-s8t
@냥냥-s8t 3 жыл бұрын
안녕하세요. 질문 드려도 될까요? 예전에 this()만 배울 때는 첫 줄에 "반드시" 생성자를 호출해야하는 것은 아니고 호출할 일 있으면 첫줄에 해야한다고 배웠던 것 같은데요. 상속 받을 때만 생성자의 첫줄에 반드시 생성자를 호출하는 것으로 이해하면 될까요?
@MasterNKS
@MasterNKS 3 жыл бұрын
늘 상속은 받습니다. Object가 최고 조상이라. 항상 첫줄에 있어야하는데 안쓰면 super();가 자동 추가됩니다.
@뭘안다고그렇게떠드는
@뭘안다고그렇게떠드는 4 жыл бұрын
1회 시청완료
@남붕어
@남붕어 4 жыл бұрын
남소연 20201217 5회 시청~
@Gml-j6d
@Gml-j6d Жыл бұрын
복습중에 질문드립니다. 예제, 조상 클래스에서 생성자 미작성시 object 개념으로 super 생성자가 자동 생성 된 후, 자손에서 호출할 때 생성자를 미작성할시 오류발생 이유가 위 조상에서 생성자 미작성으로 인해 오브젝트 생성자만 존재하기 때문에 끌어올 수가 없어서 인건가요? 생성자 미작성시 자동 첫출 super(); 추가는 클래스마다 동일 하다고 이해를 하면 될지 해서 질문 드립니다.
@MasterNKS
@MasterNKS Жыл бұрын
모든 클래스에 적용됩니다
@gogo-vq9pz
@gogo-vq9pz 4 жыл бұрын
2회 시청 super = 객체 자신을 가리키는 참조변수 인스턴스 메서드나 생성자에서만 사용 가능. 조상멤버와 자신멤버 구별할 때 사용(this랑 비슷) super() = 조상의 생성자 조상의 생성자 호출할 때 사용 조상 멤버는 조상의 생성자 호출해서 초기화 자손의 생성자는 자기가 선언한 것만 초기화하고, 조상 멤버는 조상 생성자로 초기화하는 것이 바람직. 생성자 첫 줄에 반드시 생성자 호출★★★★ 첫 줄이 생성자 호출이 아니면 컴파일러가 자동으로 조상의 기본 생성자 삽입. => 클래스 만들 때 반드시 기본 생성자 만들어야 에러 안 남.
@햇냥이-k4s
@햇냥이-k4s Жыл бұрын
기본생성자 작성은 필수다. 만약 포인트 클래스에 아무런 생성자 하나도 없었음 포인트 3D가 자동으로 생성해준 슈퍼()로 인해 또 자동으로 기본생성자가 만들어져 돌아갔을탠데 매개변수 생성자가 있어서 그러질 못 했고 기본생성자를 기본적으로 작성하는 습관을 들이자. 기본생성자와 매개변수생성자 작성! 기억하자 모든 생성자는 첫줄에 다른 생성자를 호출해야한다. 상속 없는 포인트 클래스는 모든 클래스의 부모인 오브젝트 생성자를 컴파일러가 자동으로 만들어준거였고 상속받은 포인트 3D는 부모 생성자 super()호출해서 상속받은 부모 인스턴스 변수들을 초기화시켜줘야한다.
@이상수-f9l
@이상수-f9l 4 жыл бұрын
1회 시청 완료입니다
@활활-p2l
@활활-p2l 3 жыл бұрын
부모의 부모 x를 가져오려면 어떻게 해야 할까요 ?
@MasterNKS
@MasterNKS 3 жыл бұрын
그건 안됩니다. 메서드를 이용해서는 됩니다. 조상의 메서드가 조상의 조상의 x를 반환하게 하면 가능합니다. 직접 테스트해보세요
@남붕어
@남붕어 4 жыл бұрын
남소연 20201214 1회 시청
@andrew77359
@andrew77359 4 жыл бұрын
오늘도 좋은 강의 감사합니다!
@dongoh3211
@dongoh3211 2 жыл бұрын
1) 조상의 멤버는 조상의 생성자를 호출해서 초기화하기 2) 생성자의 첫 줄에는 반드시 생성자를 호출하기! 규칙을 암기하고 습관화하는 연습을 꾸준히 해야겠네요! 강의 감사합니다:-)
@김성현-j4c7p
@김성현-j4c7p 4 жыл бұрын
항상 감사드립니다❤️
@atomic2808
@atomic2808 4 жыл бұрын
8:10 '초기화블록' 이란 단어가 생소한데요, 초기화는 생성자가 담당하는거 아닌가요?
@MasterNKS
@MasterNKS 4 жыл бұрын
들다 초기화를 합니다. 6장 마지막을 다시 복습하시기 바랍니다.
@황재환-p5l
@황재환-p5l 3 жыл бұрын
이전에 this() 생성자 사용할때는 첫줄에 this()나 super()를 넣어주지 않았었는데 super()를 배우면서 꼭 넣어줘야한다고 말씀해주시니까 혼란스럽습니다 ㅜㅜ super() 안배울때는 넣으란말 없으셨는데 그땐 어떻게 가능했던건가요…?
@MasterNKS
@MasterNKS 2 жыл бұрын
컴퍼일러가 자동으로 넣어준겁니다. 규칙이니까 외우셔야 합니다
@youngjinhwang9385
@youngjinhwang9385 4 жыл бұрын
좋은 강의 항상 감사드립니다!
@jhkim2433
@jhkim2433 2 жыл бұрын
컴파일러가 자동으로 super();를 추가해주는데도 에러가 나는 이유는 뭔가요?
@myeongheeroh6209
@myeongheeroh6209 4 жыл бұрын
좋은 강의 감사합니다.
@나나나-m7w
@나나나-m7w 2 жыл бұрын
생성자의 첫출에 생성자를 호출하지 않으면 생성자의 첫 줄에 super();를 삽입한다. 라는 내용이 책에도 있나요..? 제가 못찾는건지 안 보이네요
@MasterNKS
@MasterNKS 2 жыл бұрын
자바의 정석 3판에 나옵니다.
@gogo-vq9pz
@gogo-vq9pz 4 жыл бұрын
5회 시청 super()는 자손 클래스 생성자에서 조상 멤버를 초기화하기 위함. this()는 같은 클래스 내 한 생성자에서 다른 생성자 호출할 때 사용. super는 객체 자신을 가리키는 참조변수. 조상 멤버와 자신의 멤버 구분할 때 사용. this도 객체 자신을 가리키는 참조변수. 지역변수와 인스턴스 변수 구분할 때 사용.
@호야-x2q
@호야-x2q 4 жыл бұрын
강의 너무 좋아요 !
@hikieun
@hikieun 3 жыл бұрын
2021/08/15 1회차 출석합니다! 이번 강의 보면서 아! 이래서 예전에 기본 생성자 넣어줘야 한다고 하셨구나!! 하면서 뭔가 신기하고 재밌었네요 ㅋㅋㅋ 예전에 따로 공부할 때 super 이해 안 됐었는데 선생님이 그림 그려주시면서 설명해 주시니까 한 번에 이해됐어요! 역시..bb 아 그리고 궁금한 점이 super()는 컴파일러가 자동 추가해 주더라도 명시적으로 항상 써주는 게 좋은 건가요??
@MasterNKS
@MasterNKS 3 жыл бұрын
아뇨 꼭 필요할때만 쓰세요
@hikieun
@hikieun 3 жыл бұрын
@@MasterNKS 아하 넵넵! 감사합니다!!☺️
@ckc_5116
@ckc_5116 4 жыл бұрын
안녕하세요 작가님, 자바의 정석 2판은 쉽게 구할 수 있는데 3판을 살 용의도 있습니다. 추천 부탁드려도 될까요?
@MasterNKS
@MasterNKS 4 жыл бұрын
2판은 너무 오래되어서 3판이 낫죠
@이혜지-m7v
@이혜지-m7v 4 жыл бұрын
2회 시청완료 참조변수 super - 객체 자신을 가리키는 참조변수, 인스턴스 메서드(생성자 포함)내에만 존재 - 조상 멤버와 자신의 멤버가 중복되는 경우에 구별할 때 사용 -> 조상의 멤버: super.x / 자신의 멤버: this.x 조상의 생성자 super() - 자손이 조상의 생성자를 호출할 때 사용 - 조상의 멤버는 조상의 생성자가 초기화 하도록 해야 함 -> 조상의 멤버를 어떻게 초기화해야 할지 가장 잘 아는 것은 조상이기 때문에 - 생성자의 첫 줄에 반드시 생성자를 호출해야 함 - 첫 줄에 생성자가 호출되지 않으면 컴파일러가 super()을 삽입
@강쥐-m4b
@강쥐-m4b 2 жыл бұрын
예제 7_2 에서 조상의 x 는 super.x 자식의x는 this.x라고 구별하신다고 했는데요 메인메서드에서 super.x값을 출력하고 싶을때 System.out.println(c.super.x); 라고 하면 컴파일에러가 나는데 어떻게 해야 출력할수있을까요? //super은 객체자신을 가르키는 참조변수, static메서드 내 (메인메서드내)에서 사용불가하므로 System.out.println(super.x); 도 컴파일 에러가 나타남. 그냥 Parent p = new Parent(); 부모 객체를 생성한 후에 System.out.println(p.x);로 출력했습니다.. 이렇게 이해했는데 맞는지 잘모르겠네요 ㅠ
@MasterNKS
@MasterNKS 2 жыл бұрын
클래스 내에서 super.x를 출력하는 메서드를 추가하시면 됩니다.
@짜짜-y5j
@짜짜-y5j 4 жыл бұрын
얼마전에 실수한건데 조상의 멤버를 this로 초기화 했는데 에러가 안나서 문제가 없는 줄 알았어요! 조상의 멤버는 조상의 생성자를 호출해서 초기화해야 하는 것을 꼭 기억하겠습니다!
@mosquitoexorcist
@mosquitoexorcist 3 жыл бұрын
참조변수 super (this랑 비슷) -객체 자신을 가르키는 참조변수 -인스턴스메서드(생성자) 내에만 존재(static메서드 내에서 사용불가) -조상의 멤버(super)와 자신의 멤버(this)를 구별할 때 사용 -중복되는 경우 super, this 둘 다 가능 super() : 조상의 생성자 -참조변수 super와 전혀 관계없다 -조상의 생성자를 호출할 때 사용 -조상의 멤버는 조상의 생성자를 호출해서 초기화(상속을 받을 때 생성자와 초기화 블럭이 상속되지 않으므로) -자손의 생성자는 자신이 선언한 것만 초기화 할 수 있음(this) 그래서, 조상의 멤버를 초기화 하려면 super()로 조상클래스의 생성자를 호출 -> 조상한테 초기화 해달라고 해야함 -(모든)생성자의 첫 줄에 반드시 (다른)생성자를 호출해야함!!🎇🎇 몹시 중요 -클래스 작성 시 기본생성자 작성 필수!!!! 이것도 매우 중요
@rem-wz2mz
@rem-wz2mz 3 жыл бұрын
모든 생성자의 첫 줄에는 반드시 다른 생성자 또는 조상 생성자를 호출해야 한다면 우리가 앞서서 기본생성자를 적어줬는데, class Car { int x = 3; Car() { } } 여기에서 기본생성자 Car() {} 가 사실은 class Car { int x = 3; Car() { super(); } } 였다는 말씀이시죠?
@MasterNKS
@MasterNKS 3 жыл бұрын
@taiwanno.1572
@taiwanno.1572 4 жыл бұрын
13:58 중요한 내용, 잘 외워두기
@productNerdOtaku
@productNerdOtaku 3 жыл бұрын
생성자의 첫 줄에 반드시 생성자를 호출해야 한다. -> 조상의 생성자 호출 super()
@mosquitoexorcist
@mosquitoexorcist 4 жыл бұрын
4회 시청 완료
@seongwonchae2398
@seongwonchae2398 4 жыл бұрын
4회 시청.
@thekimssalon3254
@thekimssalon3254 3 жыл бұрын
감사합니다 0302
@JacobCGYou
@JacobCGYou 4 жыл бұрын
아 저는 상속하면서 같은 iv는 자식이 덮어쓰겠거니라고 잘못 알고 있었는데 가만 생각해보면 덮어쓰게되면 super.x, this,x가 동시에 존재하지 않겠군요 😄 super() 파트 중 : 생성자의 첫 줄에 반드시 생성자 호출해야 하고 그렇지 않으면 java 컴파일러가 넣어준다 ** 클래스 작성할 때 기본생성자 작성 필수(위와 같은 컴파일러의 역할을 고려해야 하기 때문 간과하면 에러의 원인이 된다)
@호야-x2q
@호야-x2q 4 жыл бұрын
조상멤버는 super, 자신멤버는 this. super()는 조상의 생성자. 자신이 선언한 것만 초기화. 조상은 조상이하는 것이 좋음. 생성자 첫줄에 다른생성자 호출. 기본생성자 작성 필수.
@JacobCGYou
@JacobCGYou 4 жыл бұрын
- super : 객체 자신을 가리키는 참조변수, 인스턴스 메서드 내에만 존재, 조상의 멤버를 자신의 멤버와 구분시 사용 - super() : 조상의 생성자, 조상의 생성자 호출 시 사용(조상의 멤버는 조상의 생성자를 호출해서 초기화) * 생성자의 첫 줄에 반드시 생성자를 호출해야 함 * 그렇지 않으면 컴파일러가 자동으로 첫 줄에 super() 삽입
@gogo-vq9pz
@gogo-vq9pz 4 жыл бұрын
4회 시청 완료!
@gogo-vq9pz
@gogo-vq9pz 4 жыл бұрын
3회 시청 완료
@Robert-zc9uo
@Robert-zc9uo 4 жыл бұрын
감사합니다!!
@sujinlee3795
@sujinlee3795 4 жыл бұрын
201130 다혜수진지영 day8
@jinnamkung727
@jinnamkung727 4 жыл бұрын
좋은 강의 감사합니다:):)
@mosquitoexorcist
@mosquitoexorcist 4 жыл бұрын
2회 시청 완료!
@mirakim7414
@mirakim7414 4 жыл бұрын
7-10 참조변수 super. - 객체 자신을 가리키는 참조변수 >조상과 자기자신을 구분지을때 사용 (this.는 lv와 iv를 구분할때 사용) 7-11 super() >조상의 생성자를 호출할때 사용 >조상의 멤버는 조상의 생성자를 호출해서초기화 (자식은 자기가 생성한 맴버만 초기화) >생성자에 생성자를 호출할거면 첫줄에!☆ >안하면 자동으로컴파일러가 super(); 삽입
@2혜지
@2혜지 4 жыл бұрын
3회 시청.
@collectTheMomentsNotThings
@collectTheMomentsNotThings 3 жыл бұрын
super. 조상주소 참조변수 super() 조상의 생성자 호출 및 초기화 클래스만들때 기본생성자 작성 필수! 모든 생성자는 첫줄에 다른 생성자를 호출!
@제한해제가한번해보겠
@제한해제가한번해보겠 4 жыл бұрын
2020/09/16 완료
@starfish3585
@starfish3585 4 жыл бұрын
1회 시청 완료!
@ckdbioksh
@ckdbioksh 3 жыл бұрын
2회차 완료
@정보승-n3s
@정보승-n3s 4 жыл бұрын
1회시청 모든생성자는 첫줄에 다른 생성자를 호출
@이성민-z2j
@이성민-z2j 4 жыл бұрын
4회 시청
@김충현-v3m
@김충현-v3m 4 жыл бұрын
2회 시청
@둥근세모-k8u
@둥근세모-k8u 4 жыл бұрын
201130 복습
@정보승-n3s
@정보승-n3s 4 жыл бұрын
2회시청
@둥근세모-k8u
@둥근세모-k8u 4 жыл бұрын
201102 복습
@rlagusdb111
@rlagusdb111 4 жыл бұрын
2회 완료
@김예찬-y6u
@김예찬-y6u 4 жыл бұрын
감사합니다~!
@SoyouG-w1u
@SoyouG-w1u 3 жыл бұрын
강의 감사드려요 강사님 >_
@ALavigne-m1j
@ALavigne-m1j 4 жыл бұрын
12/13 1회 시청
@최호연-q1i
@최호연-q1i 4 жыл бұрын
최호연 1회 시청 완료
@myeongheeroh6209
@myeongheeroh6209 4 жыл бұрын
7장 객체지향언어 2회독, 2020.11.10.
@mosquitoexorcist
@mosquitoexorcist 4 жыл бұрын
1회 시청 완료
@ALavigne-m1j
@ALavigne-m1j 4 жыл бұрын
12/17 4회 시청
@잠에약한하마
@잠에약한하마 4 жыл бұрын
이승복 1회 시청
@남궁진-e7r
@남궁진-e7r 4 жыл бұрын
어렵네요ㅜㅜㅜ잘봤습니다
@잠에약한하마
@잠에약한하마 4 жыл бұрын
이승복 3회 시청
@chang-hyunlyoo1981
@chang-hyunlyoo1981 4 жыл бұрын
1회시청
@이윤하-e5i
@이윤하-e5i 4 жыл бұрын
이윤하 1회 시청 완료
@celineheo8224
@celineheo8224 4 жыл бұрын
영상 너무 감사합니다 ㅠㅠ
@rlagusdb111
@rlagusdb111 4 жыл бұрын
1회 완료
@ALavigne-m1j
@ALavigne-m1j 4 жыл бұрын
12/19 5회 시청
@조다혜-u7y
@조다혜-u7y 4 жыл бұрын
모든 클래스의 생성자 첫줄에 다른 생성자(this(), super())를 호출해야 한다.
@짱우-w1f
@짱우-w1f 4 жыл бұрын
1회 시청
@이성민-z2j
@이성민-z2j 4 жыл бұрын
생성자 질문 드립니다. 모든 생성자는 첫줄에 다른 생성자를 포함해야한다는 것은, 결국 상속트리의 최상단 생성자 (Object) 까지 호출되는게 맞나요? 그리고 object 호출을 통해 java의 기본적인 메소드 (ex. println, String 등) 을 항상 사용 가능해지는것으로 이해하면 될까요?
@MasterNKS
@MasterNKS 4 жыл бұрын
네 맞습니다
@이성민-z2j
@이성민-z2j 4 жыл бұрын
@@MasterNKS 답변 감사합니다!
@이상수-f9l
@이상수-f9l 4 жыл бұрын
3회 시청완료입니다
@kams2348
@kams2348 4 жыл бұрын
3회 시청완료입니다.
@이혜지-m7v
@이혜지-m7v 4 жыл бұрын
3회 시청완료!
@kams2348
@kams2348 4 жыл бұрын
1회 시청 완료하였습니다.
@남붕어
@남붕어 4 жыл бұрын
남소연 20201214 2회 시청
@starfish3585
@starfish3585 4 жыл бұрын
2회 시청 완료
@starfish3585
@starfish3585 4 жыл бұрын
4회 시청 완료
[자바의 정석 - 기초편]  ch7-12~14 패키지, 클래스 패스
19:54
남궁성의 정석코딩
Рет қаралды 29 М.
[자바의 정석 - 기초편] ch7-23 다형성
19:56
남궁성의 정석코딩
Рет қаралды 38 М.
UFC 310 : Рахмонов VS Мачадо Гэрри
05:00
Setanta Sports UFC
Рет қаралды 1,2 МЛН
VIP ACCESS
00:47
Natan por Aí
Рет қаралды 30 МЛН
[Q&A] JAVA | 생성자
13:35
흥달쌤
Рет қаралды 11 М.
[자바의 정석 - 기초편] ch7-24,25 참조변수의형변환(1)
18:53
남궁성의 정석코딩
Рет қаралды 34 М.
Uzak Şehir 11. Bölüm
2:19:51
Uzak Şehir
Рет қаралды 2,4 МЛН
[자바의 정석 - 기초편] ch7-29,30 여러 종류의 객체를 배열로 다루기
17:15
[자바의 정석 - 기초편]  ch6-32~35 생성자, 기본 생성자
24:10
남궁성의 정석코딩
Рет қаралды 47 М.
[자바의 정석 - 기초편] ch8-9,10 예외발생시키기
18:05
남궁성의 정석코딩
Рет қаралды 17 М.
[자바의 정석 - 기초편] ch7-31,32 추상 클래스, 추상 메서드
30:03
남궁성의 정석코딩
Рет қаралды 35 М.