기술 면접용 질문들/프로그래밍 관련 맨텀 2021. 4. 12. 22:51
각각의 원칙의 앞글자를 따서 SOLID 원칙이라고 부른다. 단일 책임의 원칙(SRP : Single Responsibility Principle) - 클래스는 하나의 책임만을 가진다. 개방 폐쇄의 원칙(OCP : Open-Closed Principle) - 확장에는 열려있고, 변경에는 닫혀있어야 한다. - 추가사항이 발생하더라도 기존 구성요소는 수정이 일어나지 말아야 한다. 리스 코브 치환의 원칙(LSP : Liskov Substitution Principle) - 상위 타입의 객체는 언제나 하위 타입의 객체로 치환할 수 있어야 한다. - 즉, 상속은 is-A 관계일 때만 상속관계로 존재해야 한다. 인터페이스 분리의 원칙(ISP : Interface Segregation Principle) - 자신이 사..
기술 면접용 질문들/프로그래밍 관련 맨텀 2021. 4. 12. 22:36
사실 전혀 하는 일이 다른데, 이름이 비슷해서 자주 비교당하는 녀석들. 오버 로딩 (Overloading) - 정의 : 메서드의 이름은 동일하지만 매개변수의 개수나 타입이 다른 메서드를 여러 개 정의하는 것. - 목적 : 컴파일 타임 다형성을 실현한다. (컴파일 시점에 어떤 동작인지 결정됨) public int MyMethod() => 0; public int MyMethod(int a) => a; public int MyMethod(int a, int b) => a + b; 오버 라이딩 (Overriding) - 정의 : 상속관계에서 상위 클래스의 메서드를 하위 클래스에서 재 정의함. - 목적 : 런타임 다형성을 실현한다. (실행중 어떤 하위 클래스냐인지에 따라서 동작이 결정됨) class Parent..
기술 면접용 질문들/프로그래밍 관련 맨텀 2021. 4. 12. 21:04
박싱과 언박싱을 이해하려면 값형식과 참조형식, 그리고 스택과 힙에 대한 이해부터 해야한다. 값형식 vs 참조형식 값형식은 System.ValueType을 상속받는다. (이 또한 System.Object를 상속받으니 참조형과 형변환이 가능하다) 구조체, 열거형, 숫자(System.Int32) 는 값형식이다. 값형식은 스택에 할당되며, 스택은 성능이 빠르고 스코프가 끝나면 사라진다. 값형식은 주고받을 때, 복사가 일어난다. 참조형식은 System.Object를 상속받는다. 모든 클래스는 참조형식이다. 참조형식은 힙 영역에 할당되며, 힙은 메모리를 관리해야되기 때문에 조심히 다뤄야하는 영역이다. (GC가 있는 언어의 경우 사용이 끝났어도 GC가 수거할때까지 메모리에 상주한다) 참조형식은 주고받을 때, 주소만을..