본문 바로가기

분류 전체보기

(239)
객체지향 설계의 5원칙 - SOLID 컴퓨터 프로그래밍에서 SOLID는 객체지향 프로그래밍의 설계의 원칙으로 보다 유지보수에 간편하고 유연하며 확장이 용이한 프로그램을 만들 수 있는 방법론이다. 각 원칙의 정의에 입각해 간략히 알아보고자 한다. SOLID는 각각의 원칙의 첫자를 약어로 따온것으로 원칙의 내용은 아래와 같다. 5가지 원리의 핵심내용 SRP(Single Responsibility Principle) - 단일 책임의 원칙 OCP(Open Close Principle) - 개방 폐쇄 원칙 LSP(Liskov Substitution Principle) - 리스코프 치환 원칙 ISP(Interface Segregation Prinvciple) -인터페이스 분리 원칙 DIP(Dependency Inversion Principle) - 의..
다형성(Polymorphism) 1.다형성(Polymorphism) 다형성은 대입되는 객체에 따라 메서드를 다르게 동작하도록 구현하는 기술이다. 이는 실행도중 동일한 이름의 메서드 호출(오버라이드)에도 각각의 메서드를 선택할 수 있다는데에 큰 특장점이 있다. 종류가 다른 객체라도, 비슷한 동작의 메서드를 모아 관리해 간결한 코드를 유지할 수 있다. 위 그림에서, Animal이라는 부모객체에서 동물의 공통적인 '울음소리' 나타내는 sound()라는 메소드를 정의하였다고 가정한다. 동물클래스인 Dog, Cat, Duck은 각각 Animal 클래스를 상속받아 sound()를 각각의 특성에 맞게 재정의 하여 실행한다 그 결과 Dog의 sound() : Bow Bow / Cat의 sound() : meow meow / Duck의 sound() ..
Final (상수화) final (상수화) final 변수는 값을 변경할 수 없다. final 변수는 반드시 초기값을 주어야 한다. final 필드는 생성자에서 초기값을 주어야 한다 static final 필드는 static 구역에서 초기값을 주어야 한다 final 변수는 대문자로만 기술 final 메소드는 Override를 할 수 없다. final 클래스는 자식클래스를 가질 수 없다.- 상속이 안된다 Final 의 활용 상수앞에 사용하는 경우 - 변하지 않는 값을 명기함 클래스 앞에 사용하는 경우 - 상속이 되지 않음 메소드 앞에 사용의 경우 - 오버라이딩의 마지막을 명기함 // 재정의가 되지 않음
Operator5_ 부정연산자 / 문자열 동등 비교 1.부정연산자 _ ! 주어진 조건이나 상수를 반대로 부정한다 상수(Constant) 변하지 않는 값 리터럴 (literal) 정수형 literal _ 1, 2, 25, 60, -10 ... 실수형 literal_ 25.1, 26.7 .... 문자형 literal_ 'a', 'v', 'A', 'B' .... 문자열 literal_ "Car", "Meal" .... 4.문자열 literal의 경우, 같은 문자열(값)이 입력될 경우 같은 값으로 확인되어지지만 1)문자열클래스 String을 이용한 경우와 2)별도의 객체 생성을 통해 입력된 값 두가지 방법으로 만들어 질 수 있는데 객체 생성을 통해 만들어진 클래스 영역으로 생성되는 인스턴스이므로 연산자를 통해 확인해도 다르게 확인된다.(주소값이 다름 false)..
while문 / do while문 1.while 문 / 반복문 조건( true / false )에 참(true)일 동안 블럭 {}내의 내용을 반복 _ [ 반복 횟수나 시기를 모를 때 ] int a = 0 ;//초기값 선언 while( a < 10){ a++;//변수의 증감값 설정 System.out.println( a + " "); }//while //결과값 1 2 3 4 5 6 7 8 9 10 03_loop / src / while_/ While02.java 2.do while문 조건을 만족시키는 동안 블럭 {}내의 내용을 반복 _ [ 사용자 입력 받을 때 유용 ] 구문 시작에 do, 끝 세미콜론(;)이 들어가는 것 외에 차이는 없다 한번은 반드시 실행한다
for문 1.for 문 / 반복문 조건을 만족하는 동안 블럭{} 내용을 반복 _ [ 반복 횟수를 알 때 적합 ] 더보기 for( 변수=초기값; 조건; 증감값 ){ //반복하고자 하는 내용 } 반복횟수를 규정하는 변수는 for문 자체적으로 정할 수 있지만,(지역변수)_ 이때 자료형을 함께 넣어주어야한다. 클래스내에 선언하여 클래스내 전체에서 유효할 수 있게도 적용이 가능하다. (for 문 밖에서도 해당 변수의 값을 활용할 수 있다.) 03_loop / src / for_/ For02.java package for_; import java.util.Scanner; public class For02 { public static void main(String[] args) { Scanner scanner = new Sc..
난수를 생성하는 random() 메소드 난수는 값이 지정되어있는 상수나, 사용자가 직접입력하는 값이 아닌, 컴퓨터가 생성해낸 임의의 수이다. 여러 임의의 값을 지정하고자 할 때 사용한다. 난수를 생성하는 Random() 은 Math 클래스에서 호출이 가능하며 Math클래스는 Static으로 선언되어있어 별도의 선언없이도 바로 사용이 가능하다. random() 메소드를 이용하면 0 ~ 1사이의 임의의 실수를 지정해 주기에 사용처에 맞게 최소, 최대값 자료형을 지정하여야 한다. 예를 들어 1 ~ 100 까지의 임의의 숫자를 난수로 생성하고자 할 때 int ranNum = (int)(Math.random() * (100-1) ) + 1; 더보기 (int)(Math.random() * (100-1) ) + 1; (자료형지정)( Math.random(..
조건문 if의 활용 _ 중첩if문 // 평균과 과락점수로 합/불합 구분 보호되어 있는 글입니다.