블로그, 꺼무위키 피셜로는 다 그런 것 같은데 위키피디아에 저렇게 적혀있으니까 뭐가 맞는지 모르겠음
근데 생각해보면 부모가 자식을 대체할 수 있게 만들라고 하면 난 못만들 듯 ㅋㅋ
익명(218.55)2022-11-28 20:18
위키피디아에 있는 말도 자식이 부모를 대체할 수 있다임
익명(119.71)2022-11-28 20:20
답글
하위타입으로 바꿀 수 있다는게 부모 자리에 자식을 넣어도 대체 된다는 거잖
익명(119.71)2022-11-28 20:21
답글
치환성(영어: substitutability)은 객체 지향 프로그래밍 원칙이다. 컴퓨터 프로그램에서 자료형 S가 자료형 T의 서브타입라면 필요한 프로그램의 속성(정확성, 수행하는 업무 등)의 변경 없이 자료형 T의 객체를 자료형 S의 객체로 교체(치환)할 수 있어야 한다는 원칙이다.
익명(218.55)2022-11-28 20:23
답글
안에 들어가면 이렇게 나오는데 내가 이해를 잘못하는건가 난 왜 부모가 자식을 대체할 수 있다는 걸로 읽히지
익명(218.55)2022-11-28 20:23
답글
뭔가 좀 꼬인거 같은데 위에 사진 두개 그냥 같은 말임
시간 지나면 아차하면서 알게 될 듯
익명(119.71)2022-11-28 20:28
ㅋㅋㅋㅋㅋㅋ 부모 갖다 팔고 새부모 입양해도 할말 없는 부분이노 ㅋㅋㅋㅋㅋㅋㅋㅋ
노엘(183.107)2022-11-28 20:26
List list = ArrayList
List list = LinkedList
List list = ImmutableList 이런거 아님? 아님말구
익명(86.48)2022-11-28 20:26
답글
서브타입은 상위타입으로 선언한 변수에 쓰컹쓰컹 가능하다
익명(86.48)2022-11-28 20:27
답글
아니네 헐 나 이거 많이 위배했노
익명(86.48)2022-11-28 20:29
답글
이건 또 왜 아님? ㅋㅋㅋㅋㅋ 정신나갈것같노
익명(218.55)2022-11-28 20:31
답글
이게 맞긴한데 상속을 이상하게 해서 (오버라이딩이 상위 클래스의 제약조건들을 무시하고 개발된 케이스) 서브클래스를 구현하지 말라는 의미인듯
익명(86.48)2022-11-28 20:38
답글
수퍼클래스의 필드 a는 0미만의 값이 되면 안되는디 그걸 상속한 서브클래스에선 그런 제약조건 없고 a에 음수값을 대입한 경우 수퍼클래스의 입장으로 알고 객체를 조작할 경우 올바른 데이터처리가 안된다 이런걸 의미하는듯
익명(86.48)2022-11-28 20:39
답글
흠 상속을 이상하게 해서 서브클래스를 구현할 수 있나... 난 일부러 그렇게 하라해도 못할 것 같은데 뭔가 너무 코드 치다보면 알아서 되는 당연한 말 같음
익명(218.55)2022-11-28 20:40
답글
그렇게 치면 JDK도 원칙 위배한거 꽤되는데 Array.asList로 만든 List는 add쓰면 바로 익셉션 나고 쓰벌
익명(86.48)2022-11-28 20:40
답글
익명(218.55)2022-11-28 20:41
답글
저런 상황 은근히 흔하지 자바같이 널안정성 빵점인 언어에선 흔함 자기 자신 객체도 null관리가 안돼서 터지는데 서브클래스한테 그걸 기대하는건 불가능...
자식이 부모를 대체할 수 있어야한다.
블로그, 꺼무위키 피셜로는 다 그런 것 같은데 위키피디아에 저렇게 적혀있으니까 뭐가 맞는지 모르겠음 근데 생각해보면 부모가 자식을 대체할 수 있게 만들라고 하면 난 못만들 듯 ㅋㅋ
위키피디아에 있는 말도 자식이 부모를 대체할 수 있다임
하위타입으로 바꿀 수 있다는게 부모 자리에 자식을 넣어도 대체 된다는 거잖
치환성(영어: substitutability)은 객체 지향 프로그래밍 원칙이다. 컴퓨터 프로그램에서 자료형 S가 자료형 T의 서브타입라면 필요한 프로그램의 속성(정확성, 수행하는 업무 등)의 변경 없이 자료형 T의 객체를 자료형 S의 객체로 교체(치환)할 수 있어야 한다는 원칙이다.
안에 들어가면 이렇게 나오는데 내가 이해를 잘못하는건가 난 왜 부모가 자식을 대체할 수 있다는 걸로 읽히지
뭔가 좀 꼬인거 같은데 위에 사진 두개 그냥 같은 말임 시간 지나면 아차하면서 알게 될 듯
ㅋㅋㅋㅋㅋㅋ 부모 갖다 팔고 새부모 입양해도 할말 없는 부분이노 ㅋㅋㅋㅋㅋㅋㅋㅋ
List list = ArrayList List list = LinkedList List list = ImmutableList 이런거 아님? 아님말구
서브타입은 상위타입으로 선언한 변수에 쓰컹쓰컹 가능하다
아니네 헐 나 이거 많이 위배했노
이건 또 왜 아님? ㅋㅋㅋㅋㅋ 정신나갈것같노
이게 맞긴한데 상속을 이상하게 해서 (오버라이딩이 상위 클래스의 제약조건들을 무시하고 개발된 케이스) 서브클래스를 구현하지 말라는 의미인듯
수퍼클래스의 필드 a는 0미만의 값이 되면 안되는디 그걸 상속한 서브클래스에선 그런 제약조건 없고 a에 음수값을 대입한 경우 수퍼클래스의 입장으로 알고 객체를 조작할 경우 올바른 데이터처리가 안된다 이런걸 의미하는듯
흠 상속을 이상하게 해서 서브클래스를 구현할 수 있나... 난 일부러 그렇게 하라해도 못할 것 같은데 뭔가 너무 코드 치다보면 알아서 되는 당연한 말 같음
그렇게 치면 JDK도 원칙 위배한거 꽤되는데 Array.asList로 만든 List는 add쓰면 바로 익셉션 나고 쓰벌
저런 상황 은근히 흔하지 자바같이 널안정성 빵점인 언어에선 흔함 자기 자신 객체도 null관리가 안돼서 터지는데 서브클래스한테 그걸 기대하는건 불가능...