본문 바로가기
반응형

전체 글256

Chap_07. 클래스와 인스턴스 변수 객체지향프로그래밍 (OOP : Object-Oriented Programming) 객체는 동물이나 사물 등의 개념(Ex. 컴퓨터, 그래픽카드, 마우스, 키보드 ... ) 객체지향프로그래밍은 유지보수가 용이하고, 높은 재사용성을 장점으로 가진다. 클래스의 필요성에 대하여 이해해보자. String[] items = {"CPU","RAM","하드디스크"}; 위와 같이 같은 자료형에 대하여 여러 데이터가 필요한 경우 배열을 활용하게 된다. 그런데 아래와 같이 서로 다른 자료형의 데이터의 조합이라고 한다면 배열을 활용하기가 어렵다. 차량용 블랙박스 상품을 만든다고 생각해보자. 각 상품별로 모델명, 해상도, 가격, 색상 정보가 필요하다. 이 때 모델명, 해상도, 색상은 String 자료형이지만 가격(price)정보.. 2023. 4. 20.
Quiz. 메소드를 활용한 개인정보 비공개처리 예시) 이름 : 나코딩 주민번호 : 990130-1234567 연락처 : 010-1234-5678 위와 같이 개인정보가 있을 때 개인정보 뒷자리를 비공개 ( * 마스킹처리 ) 처리 하는 메소드를 작성해보자. 하나의 메소드로 모든 동작을 처리해야하며, 이름은 2번째 글자, 주민번호는 9번째글자, 전화번호는 10번째 글자부터 * 처리한다. 변수명.subString(시작index,끝index); //문자열을 잘라준다. 내가 작성한 코드는 아래와 같다. 2023. 4. 20.
Chap_06. Main Method 1. 인텔리제이 우측 상단의 [Current File] -> [Edit Configurations.. ] 클릭 2. 팝업 좌측 상단 + 클릭 -> [Application] 클릭 Name : Test Main class : 현재 테스트 중인 JAVA 클래스 선택 Program Arguments : 프로그램 실행 시 전달해줄 값 (Ex "테스트 전달값 입니다.") 위와 같이 설정 후 테스트해보자. * Main 메소드는 문자열로 구성된 배열로 선언되어있음. public static void main(String[] args) { } 우측 상단의 Current File -> Test로 변경된 것을 확인할 수 있다. for each 문을 통해 main 메소드 내 배열 args 를 출력하면 아래와 같이 출력된다. .. 2023. 4. 19.
Chap_06. 변수의 범위(Scope) 메소드를 활용하게되면 변수의 사용범위가 중요해진다. 아래와 같이 main 영역 내에서 int number 변수를 선언 후 다른 메소드(methodA)에서 해당 변수(number)를 이용하려고 하면 오류가 발생된다. 다른 메소드에서 실행된 변수도 동일하다 method A에서 result 라는 변수를 선언 후 methodB, main 영역에서 해당 변수를 출력하면 오류가 발생된다. 위 예제에서 보이는 number, result와 같은 변수를 지역변수라고 한다. 지역변수는 해당 변수가 선언된 영역 내에서만 사용할 수 있는 변수이다. 지역변수는 변수가 선언된 중괄호 { } 내에서만 사용할 수 있다. 만약에 선언된 변수를 다른 메소드에서 쓰고 싶은 경우에는 아래와 같이 전달값을 이용해서 값을 전달받을 수 있도록 .. 2023. 4. 19.
Chap_06. 메소드가 필요한 이유 기존에 학습했던 예제를 활용하여 메소드가 필요한 이유에 대하여 이해해보자. 2의 2승, 3의3승, 4의 2승을 구하는 예제를 아래와 같이 구현하였다. 이 때 계산하는 값만 달라질 뿐, 실제 실행하는 수식 자체는 동일하다. 이처럼 같은동작을 하는데 활용되는 값만 일부 다른 경우에 메소드를 활용하게 되면 여러번 반복되는 코드의 중복을 줄일 수 있다. 위의 예제를 메소드를 통해 구현하면 아래와 같이 코드를 간소화 할 수 있다. 위와 같이 코드를 간소화 하게되면, 가독성을 높이고 추후 코드 수정이 필요할때에도 하나의 메소드만 수정하면 되기 때문에 관리가 유리하다. 또한 메소드 내에서 다른 메소드를 호출할 수 있다. 메소드 오버로딩에서 학습한 예제를 통해 이해해보자. getPower(4) 를 실행하면 인수가 한개.. 2023. 4. 19.
Chap_06. 메소드 오버로딩 이전시간에 학습한 거듭제곱을 계산하는 예제를 통하여 메소드 오버로딩에 대하여 이해해보자. getPower(int number) { return number * number; } 위 메소드를 호출하면 전달받은 인수 number값을 제곱하여 return 값을 반환한다. 위 사례의 경우 int 자료형으로 데이터가 선언되어있기 때문에 문자열로되어있는 숫자를 인수로 사용하는데 어려움이 있다. (Ex. "3", "45") 이를 해결하기 위하여 아래와 같이 문자열 숫자의 거듭제곱을 계산하기 위한 위한 메소드를 새로 생성한다고 생각해보자. public static int getPowerStr(String Number) { int number = Integer.parseInt(strNumber); //String -> .. 2023. 4. 18.
반응형