오늘은 면접에 합격할만한 팁을 정리하려 한다.
1. 객체란 무엇인가요? 클래스와 어떤 관계가 있나요?
객체는 클래스에서 만들어진 인스턴스이며 실제 메모리에 할당되어 동작하는 실체를 말합니다.
또한 객체는 클래스에서 정의된 속성과 메서드들의 집합체입니다.
즉 객체는 클래스에서 만들어진 제품이고 클래스는 객체를 만들기 위한 기계를 말합니다.
스폰지밥이 게살버거를 만들때 스폰지밥은 재료를 가져와 패티를 굽고 빵위에 패티, 치즈, 피클, 양파, 토마토 양상추, 케첩, 머스타드를 올리고 마지막으로 빵을 올리는 작업을 하면 게살버거가 완성이다.
무슨 상관이겠냐면 그림처럼 스폰지밥은 유저가 되겠고 주방은 클래스를 의미하고 완성된 게살버거는 인스턴스(객체)가 된다는 것입니다. 또한 주방에서는 스폰지밥이 가져오는 재료들은 속성이 되겠고 게살버거를 만드는 행위는 메서드가 되는 것입니다.
2. 생성자의 정의를 설명하세요.
생성자는 인스턴스가 생성될 때 호출되며 객체를 초기화하는 역할입니다.
예를 들어 클래스의 속성을 개별적으로 취하게 하거나 각각 인스턴스의 성격을 다르게 나타내고 싶을때 사용됩니다.
코드로 표현하자면
class Coffee
{
string name;
public Coffee(string _name)
{
name = _name;
}
}
//메인함수
//이 둘은 같은 Coffee클래스에서 만들어졌지만 그 안에 속성값은 각개별이다.
Coffee Americano = new Coffee("Americano");
Coffee CafeLatte = new Coffee("CafeLatte");
이런식으로 표현할 수 있습니다.
생성자 표기법은 public를 붙이고 같은 이름의 클래스를 붙이면 생성자가 만들어집니다.
3. 접근 제한자의 종류는 어떤게 있나요?
접근 제한자에 3가지가 있는데
public : 어떤 클래스에서도 사용가능
private : 클래스 안에서만 사용가능
protected : 상속과 관련되어 현재 클래스와 이를 상속시킨 클래스에서도 사용가능
4. static 한정자
static이란 정적 할당으로 사용하는 키워드인데 클래스에서 인스턴스 생성으로 거치지 않고 다이렉트로 접근할 수 있는 키워드 입니다.
class Shape
{
static string color = "Red"
}
//메인함수
Shape.color //"Red"가 출력된다.
단 static에서 주의할 점은 static안에서는 반드시 데이터를 설정해야 하고 인스턴스로 접근이 되지 않는다.
by 스파르타 코딩클럽
'개발 TIL' 카테고리의 다른 글
7/22 부트캠프 개발 TIL (기술 모의 면접 3) (0) | 2024.08.04 |
---|---|
7/19 부트캠프 개발 TIL (기술 모의 면접 2) (0) | 2024.08.03 |
7/17 부트캠프 개발 TIL (적 인터랙션 버그) (0) | 2024.08.01 |
7/16 부트캠프 개발 TIL (맵 전환하기) (0) | 2024.08.01 |
7/15 부트캠프 개발 TIL (스킬 구현하기) (0) | 2024.07.22 |