본문 바로가기

전체 글

(233)
11) 회문 문자열 검사 문제 N개의 문자열 데이터를 입력받아 앞에서 읽을 때나 뒤에서 읽을 때나 같은 경우(회문 문자열) 이면 YES를 출력하고 회문 문자열이 아니면 NO를 출력하는 프로그램을 작성하기 조건 단 회문을 검사할 때 대소문자를 구분하지 않습니다. 제한사항 첫 줄에 정수 N(1
18) 유효범위 1)유효범위 변수와 메소드 같은 것들을 사용할 수 있는 것은 이름이 있기 때문이다. 아래 코드에서 left는 변수의 이름이고, sum은 메소드의 이름이다. int left; public void sum(){} 프로그램이 커지면 여러 가지 이유로 이름이 충돌하게 된다. 이를 해결하기 위해서 고안된 것이 유효범위라는 개념이다. 흔히 스코프(Scope)라고도 부른다. 2)출현배경 메소드, 클래스와 같은 개념들이 등장한 배경은 프로그램을 만드는 데 사용하는 코드의 양이 기하급수적으로 증가하면서 직면하게 되는 막장을 극복하기 위한 것이었다. 거대해진 코드를 효율적으로 제어하지 못한다면 웅장한 소프트웨어를 만드는 것은 점점 불가능한 일이 될 것이다. 유효범위라는 것도 그러한 맥락에서 등장한 개념이다. 하지만 유효범..
17) 클래스 맴버와 인스턴스 맴버 1)맴버 맴버(member)는 영어로 구성원이라는 뜻이다. 객체도 구성원이 있는데 아래와 같다. 변수 메소드 객체를 만들기 위해서 우선 클래스를 정의하고, 클래스에 대한 인스턴스를 만들었다. 복습을 해보자. 이전 시간에 살펴봤던 예제 CalculatorDemo.java에서 left와 right 변수는 누구의 맴버일까? 인스턴스의 맴버다. 인스턴스를 만들어야 사용할 수 있었고, 인스턴스마다 서로 다른 값을 가지고 있기 때문이다. 그렇다면 클래스도 맴버를 가질 수 있다는 것일까? 아래 그림과 같이 클래스도 맴버를 가질 수 있다. 2)클래스 변수 CalculatorDemo.java에서 사용한 인스턴스 변수인 left를 놓고 생각해보자. left의 값은 인스턴스마다 달라질 수 있다. 인스턴스 변수 c1의 lef..